LibDriver OV2640
Loading...
Searching...
No Matches
driver_ov2640.h
Go to the documentation of this file.
1
36
37#ifndef DRIVER_OV2640_H
38#define DRIVER_OV2640_H
39
40#include <stdio.h>
41#include <stdint.h>
42#include <string.h>
43
44#ifdef __cplusplus
45extern "C"{
46#endif
47
53
58
62typedef enum
63{
67
78
82typedef enum
83{
87
91typedef enum
92{
96
105
116
126
135
149
153typedef enum
154{
158
167
177
181
186
196
205
214
227
242
246
251
263
275
287
299
314
318
323
327typedef struct ov2640_handle_s
328{
329 uint8_t (*sccb_init)(void);
330 uint8_t (*sccb_deinit)(void);
331 uint8_t (*sccb_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
332 uint8_t (*sccb_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len);
333 uint8_t (*power_down_init)(void);
334 uint8_t (*power_down_deinit)(void);
335 uint8_t (*power_down_write)(uint8_t level);
336 uint8_t (*reset_init)(void);
337 uint8_t (*reset_deinit)(void);
338 uint8_t (*reset_write)(uint8_t level);
339 void (*delay_ms)(uint32_t ms);
340 void (*debug_print)(const char *const fmt, ...);
341 uint8_t inited;
343
359
363
370
377#define DRIVER_OV2640_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
378
385#define DRIVER_OV2640_LINK_SCCB_INIT(HANDLE, FUC) (HANDLE)->sccb_init = FUC
386
393#define DRIVER_OV2640_LINK_SCCB_DEINIT(HANDLE, FUC) (HANDLE)->sccb_deinit = FUC
394
401#define DRIVER_OV2640_LINK_SCCB_READ(HANDLE, FUC) (HANDLE)->sccb_read = FUC
402
409#define DRIVER_OV2640_LINK_SCCB_WRITE(HANDLE, FUC) (HANDLE)->sccb_write = FUC
410
417#define DRIVER_OV2640_LINK_POWER_DOWN_INIT(HANDLE, FUC) (HANDLE)->power_down_init = FUC
418
425#define DRIVER_OV2640_LINK_POWER_DOWN_DEINIT(HANDLE, FUC) (HANDLE)->power_down_deinit = FUC
426
433#define DRIVER_OV2640_LINK_POWER_DOWN_WRITE(HANDLE, FUC) (HANDLE)->power_down_write = FUC
434
441#define DRIVER_OV2640_LINK_RESET_INIT(HANDLE, FUC) (HANDLE)->reset_init = FUC
442
449#define DRIVER_OV2640_LINK_RESET_DEINIT(HANDLE, FUC) (HANDLE)->reset_deinit = FUC
450
457#define DRIVER_OV2640_LINK_RESET_WRITE(HANDLE, FUC) (HANDLE)->reset_write = FUC
458
465#define DRIVER_OV2640_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
466
473#define DRIVER_OV2640_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
474
478
485
494uint8_t ov2640_info(ov2640_info_t *info);
495
511uint8_t ov2640_init(ov2640_handle_t *handle);
512
525uint8_t ov2640_deinit(ov2640_handle_t *handle);
526
537uint8_t ov2640_table_init(ov2640_handle_t *handle);
538
550
562
576uint8_t ov2640_set_agc_gain(ov2640_handle_t *handle, uint16_t gain);
577
589uint8_t ov2640_get_agc_gain(ov2640_handle_t *handle, uint16_t *gain);
590
603
616
629uint8_t ov2640_set_vertical_window_line_start(ov2640_handle_t *handle, uint16_t start);
630
642uint8_t ov2640_get_vertical_window_line_start(ov2640_handle_t *handle, uint16_t *start);
643
656uint8_t ov2640_set_vertical_window_line_end(ov2640_handle_t *handle, uint16_t end);
657
669uint8_t ov2640_get_vertical_window_line_end(ov2640_handle_t *handle, uint16_t *end);
670
683
696
709
722
734uint8_t ov2640_set_aec(ov2640_handle_t *handle, uint16_t aec);
735
747uint8_t ov2640_get_aec(ov2640_handle_t *handle, uint16_t *aec);
748
761
774
786uint8_t ov2640_set_mode(ov2640_handle_t *handle, ov2640_mode_t mode);
787
799uint8_t ov2640_get_mode(ov2640_handle_t *handle, ov2640_mode_t *mode);
800
813
826
839
852
864uint8_t ov2640_set_band(ov2640_handle_t *handle, ov2640_band_t band);
865
877uint8_t ov2640_get_band(ov2640_handle_t *handle, ov2640_band_t *band);
878
890uint8_t ov2640_set_auto_band(ov2640_handle_t *handle, ov2640_bool_t enable);
891
903uint8_t ov2640_get_auto_band(ov2640_handle_t *handle, ov2640_bool_t *enable);
904
917
930
943
956
969
982
995uint8_t ov2640_set_clock_divider(ov2640_handle_t *handle, uint8_t divider);
996
1008uint8_t ov2640_get_clock_divider(ov2640_handle_t *handle, uint8_t *divider);
1009
1020uint8_t ov2640_soft_reset(ov2640_handle_t *handle);
1021
1033uint8_t ov2640_set_resolution(ov2640_handle_t *handle, ov2640_resolution_t resolution);
1034
1046uint8_t ov2640_get_resolution(ov2640_handle_t *handle, ov2640_resolution_t *resolution);
1047
1059uint8_t ov2640_set_zoom(ov2640_handle_t *handle, ov2640_bool_t enable);
1060
1072uint8_t ov2640_get_zoom(ov2640_handle_t *handle, ov2640_bool_t *enable);
1073
1086
1099
1112
1124uint8_t ov2640_get_band_filter(ov2640_handle_t *handle, ov2640_bool_t *enable);
1125
1138
1151
1164
1177
1190
1203
1216
1229
1242
1255
1268
1281
1294
1306uint8_t ov2640_get_pclk_edge(ov2640_handle_t *handle, ov2640_edge_t *edge);
1307
1320
1333
1346
1359
1372
1385
1397uint8_t ov2640_set_luminance_signal_high_range(ov2640_handle_t *handle, uint8_t range);
1398
1410uint8_t ov2640_get_luminance_signal_high_range(ov2640_handle_t *handle, uint8_t *range);
1411
1423uint8_t ov2640_set_luminance_signal_low_range(ov2640_handle_t *handle, uint8_t range);
1424
1436uint8_t ov2640_get_luminance_signal_low_range(ov2640_handle_t *handle, uint8_t *range);
1437
1452uint8_t ov2640_set_fast_mode_large_step_range(ov2640_handle_t *handle, uint8_t high_threshold, uint8_t low_threshold);
1453
1466uint8_t ov2640_get_fast_mode_large_step_range(ov2640_handle_t *handle, uint8_t *high_threshold, uint8_t *low_threshold);
1467
1480uint8_t ov2640_set_line_interval_adjust(ov2640_handle_t *handle, uint16_t adjust);
1481
1493uint8_t ov2640_get_line_interval_adjust(ov2640_handle_t *handle, uint16_t *adjust);
1494
1507uint8_t ov2640_set_hsync_position_and_width_end_point(ov2640_handle_t *handle, uint16_t position);
1508
1520uint8_t ov2640_get_hsync_position_and_width_end_point(ov2640_handle_t *handle, uint16_t *position);
1521
1534uint8_t ov2640_set_hsync_position_and_width_start_point(ov2640_handle_t *handle, uint16_t position);
1535
1547uint8_t ov2640_get_hsync_position_and_width_start_point(ov2640_handle_t *handle, uint16_t *position);
1548
1560uint8_t ov2640_set_vsync_pulse_width(ov2640_handle_t *handle, uint16_t width);
1561
1573uint8_t ov2640_get_vsync_pulse_width(ov2640_handle_t *handle, uint16_t *width);
1574
1586uint8_t ov2640_set_luminance_average(ov2640_handle_t *handle, uint8_t average);
1587
1599uint8_t ov2640_get_luminance_average(ov2640_handle_t *handle, uint8_t *average);
1600
1613uint8_t ov2640_set_horizontal_window_start(ov2640_handle_t *handle, uint16_t start);
1614
1626uint8_t ov2640_get_horizontal_window_start(ov2640_handle_t *handle, uint16_t *start);
1627
1640uint8_t ov2640_set_horizontal_window_end(ov2640_handle_t *handle, uint16_t end);
1641
1653uint8_t ov2640_get_horizontal_window_end(ov2640_handle_t *handle, uint16_t *end);
1654
1666uint8_t ov2640_set_pclk(ov2640_handle_t *handle, ov2640_pclk_t pclk);
1667
1679uint8_t ov2640_get_pclk(ov2640_handle_t *handle, ov2640_pclk_t *pclk);
1680
1693
1706
1719uint8_t ov2640_set_frame_length_adjustment(ov2640_handle_t *handle, uint16_t frame);
1720
1732uint8_t ov2640_get_frame_length_adjustment(ov2640_handle_t *handle, uint16_t *frame);
1733
1747
1760
1772uint8_t ov2640_set_flash_light(ov2640_handle_t *handle, uint8_t control);
1773
1785uint8_t ov2640_get_flash_light(ov2640_handle_t *handle, uint8_t *control);
1786
1799uint8_t ov2640_set_50hz_banding_aec(ov2640_handle_t *handle, uint16_t aec);
1800
1812uint8_t ov2640_get_50hz_banding_aec(ov2640_handle_t *handle, uint16_t *aec);
1813
1826uint8_t ov2640_set_60hz_banding_aec(ov2640_handle_t *handle, uint16_t aec);
1827
1839uint8_t ov2640_get_60hz_banding_aec(ov2640_handle_t *handle, uint16_t *aec);
1840
1852uint8_t ov2640_set_16_zone_average_weight_option(ov2640_handle_t *handle, uint32_t avg);
1853
1865uint8_t ov2640_get_16_zone_average_weight_option(ov2640_handle_t *handle, uint32_t *avg);
1866
1878uint8_t ov2640_set_histogram_algorithm_low_level(ov2640_handle_t *handle, uint8_t level);
1879
1891uint8_t ov2640_get_histogram_algorithm_low_level(ov2640_handle_t *handle, uint8_t *level);
1892
1904uint8_t ov2640_set_histogram_algorithm_high_level(ov2640_handle_t *handle, uint8_t level);
1905
1917uint8_t ov2640_get_histogram_algorithm_high_level(ov2640_handle_t *handle, uint8_t *level);
1918
1922
1929
1941uint8_t ov2640_set_dsp_bypass(ov2640_handle_t *handle, ov2640_bool_t enable);
1942
1954uint8_t ov2640_get_dsp_bypass(ov2640_handle_t *handle, ov2640_bool_t *enable);
1955
1967uint8_t ov2640_set_auto_mode(ov2640_handle_t *handle, ov2640_bool_t enable);
1968
1980uint8_t ov2640_get_auto_mode(ov2640_handle_t *handle, ov2640_bool_t *enable);
1981
1994uint8_t ov2640_set_dvp_pclk(ov2640_handle_t *handle, uint8_t pclk);
1995
2007uint8_t ov2640_get_dvp_pclk(ov2640_handle_t *handle, uint8_t *pclk);
2008
2020uint8_t ov2640_set_dvp_y8(ov2640_handle_t *handle, ov2640_bool_t enable);
2021
2033uint8_t ov2640_get_dvp_y8(ov2640_handle_t *handle, ov2640_bool_t *enable);
2034
2047
2059uint8_t ov2640_get_jpeg_output(ov2640_handle_t *handle, ov2640_bool_t *enable);
2060
2073
2086
2099
2112
2124uint8_t ov2640_set_byte_swap(ov2640_handle_t *handle, ov2640_byte_swap_t byte_swap);
2125
2137uint8_t ov2640_get_byte_swap(ov2640_handle_t *handle, ov2640_byte_swap_t *byte_swap);
2138
2151uint8_t ov2640_set_reset(ov2640_handle_t *handle, ov2640_reset_t type, ov2640_bool_t enable);
2152
2165uint8_t ov2640_get_reset(ov2640_handle_t *handle, ov2640_reset_t type, ov2640_bool_t *enable);
2166
2178uint8_t ov2640_set_sccb_master_speed(ov2640_handle_t *handle, uint8_t speed);
2179
2191uint8_t ov2640_get_sccb_master_speed(ov2640_handle_t *handle, uint8_t *speed);
2192
2204uint8_t ov2640_set_sccb_slave_id(ov2640_handle_t *handle, uint8_t id);
2205
2217uint8_t ov2640_get_sccb_slave_id(ov2640_handle_t *handle, uint8_t *id);
2218
2231
2244
2256uint8_t ov2640_set_sccb(ov2640_handle_t *handle, ov2640_bool_t enable);
2257
2269uint8_t ov2640_get_sccb(ov2640_handle_t *handle, ov2640_bool_t *enable);
2270
2283
2296
2309
2322
2335
2348
2361uint8_t ov2640_set_bist(ov2640_handle_t *handle, ov2640_bist_t bist, ov2640_bool_t enable);
2362
2375uint8_t ov2640_get_bist(ov2640_handle_t *handle, ov2640_bist_t bist, ov2640_bool_t *enable);
2376
2388uint8_t ov2640_set_program_memory_pointer_address(ov2640_handle_t *handle, uint16_t addr);
2389
2401uint8_t ov2640_get_program_memory_pointer_address(ov2640_handle_t *handle, uint16_t *addr);
2402
2415
2428
2440uint8_t ov2640_set_sccb_protocol_command(ov2640_handle_t *handle, uint8_t cmd);
2441
2453uint8_t ov2640_get_sccb_protocol_command(ov2640_handle_t *handle, uint8_t *cmd);
2454
2466uint8_t ov2640_set_sccb_protocol_status(ov2640_handle_t *handle, uint8_t status);
2467
2479uint8_t ov2640_get_sccb_protocol_status(ov2640_handle_t *handle, uint8_t *status);
2480
2492uint8_t ov2640_set_cip(ov2640_handle_t *handle, ov2640_bool_t enable);
2493
2505uint8_t ov2640_get_cip(ov2640_handle_t *handle, ov2640_bool_t *enable);
2506
2518uint8_t ov2640_set_dmy(ov2640_handle_t *handle, ov2640_bool_t enable);
2519
2531uint8_t ov2640_get_dmy(ov2640_handle_t *handle, ov2640_bool_t *enable);
2532
2544uint8_t ov2640_set_raw_gma(ov2640_handle_t *handle, ov2640_bool_t enable);
2545
2557uint8_t ov2640_get_raw_gma(ov2640_handle_t *handle, ov2640_bool_t *enable);
2558
2570uint8_t ov2640_set_dg(ov2640_handle_t *handle, ov2640_bool_t enable);
2571
2583uint8_t ov2640_get_dg(ov2640_handle_t *handle, ov2640_bool_t *enable);
2584
2596uint8_t ov2640_set_awb(ov2640_handle_t *handle, ov2640_bool_t enable);
2597
2609uint8_t ov2640_get_awb(ov2640_handle_t *handle, ov2640_bool_t *enable);
2610
2622uint8_t ov2640_set_awb_gain(ov2640_handle_t *handle, ov2640_bool_t enable);
2623
2635uint8_t ov2640_get_awb_gain(ov2640_handle_t *handle, ov2640_bool_t *enable);
2636
2648uint8_t ov2640_set_lenc(ov2640_handle_t *handle, ov2640_bool_t enable);
2649
2661uint8_t ov2640_get_lenc(ov2640_handle_t *handle, ov2640_bool_t *enable);
2662
2674uint8_t ov2640_set_pre(ov2640_handle_t *handle, ov2640_bool_t enable);
2675
2687uint8_t ov2640_get_pre(ov2640_handle_t *handle, ov2640_bool_t *enable);
2688
2700uint8_t ov2640_set_aec_enable(ov2640_handle_t *handle, ov2640_bool_t enable);
2701
2713uint8_t ov2640_get_aec_enable(ov2640_handle_t *handle, ov2640_bool_t *enable);
2714
2726uint8_t ov2640_set_aec_sel(ov2640_handle_t *handle, ov2640_bool_t enable);
2727
2739uint8_t ov2640_get_aec_sel(ov2640_handle_t *handle, ov2640_bool_t *enable);
2740
2752uint8_t ov2640_set_stat_sel(ov2640_handle_t *handle, ov2640_bool_t enable);
2753
2765uint8_t ov2640_get_stat_sel(ov2640_handle_t *handle, ov2640_bool_t *enable);
2766
2778uint8_t ov2640_set_vfirst(ov2640_handle_t *handle, ov2640_bool_t enable);
2779
2791uint8_t ov2640_get_vfirst(ov2640_handle_t *handle, ov2640_bool_t *enable);
2792
2804uint8_t ov2640_set_yuv422(ov2640_handle_t *handle, ov2640_bool_t enable);
2805
2817uint8_t ov2640_get_yuv422(ov2640_handle_t *handle, ov2640_bool_t *enable);
2818
2830uint8_t ov2640_set_yuv(ov2640_handle_t *handle, ov2640_bool_t enable);
2831
2843uint8_t ov2640_get_yuv(ov2640_handle_t *handle, ov2640_bool_t *enable);
2844
2856uint8_t ov2640_set_rgb(ov2640_handle_t *handle, ov2640_bool_t enable);
2857
2869uint8_t ov2640_get_rgb(ov2640_handle_t *handle, ov2640_bool_t *enable);
2870
2882uint8_t ov2640_set_raw(ov2640_handle_t *handle, ov2640_bool_t enable);
2883
2895uint8_t ov2640_get_raw(ov2640_handle_t *handle, ov2640_bool_t *enable);
2896
2908uint8_t ov2640_set_dcw(ov2640_handle_t *handle, ov2640_bool_t enable);
2909
2921uint8_t ov2640_get_dcw(ov2640_handle_t *handle, ov2640_bool_t *enable);
2922
2934uint8_t ov2640_set_sde(ov2640_handle_t *handle, ov2640_bool_t enable);
2935
2947uint8_t ov2640_get_sde(ov2640_handle_t *handle, ov2640_bool_t *enable);
2948
2960uint8_t ov2640_set_uv_adj(ov2640_handle_t *handle, ov2640_bool_t enable);
2961
2973uint8_t ov2640_get_uv_adj(ov2640_handle_t *handle, ov2640_bool_t *enable);
2974
2986uint8_t ov2640_set_uv_avg(ov2640_handle_t *handle, ov2640_bool_t enable);
2987
2999uint8_t ov2640_get_uv_avg(ov2640_handle_t *handle, ov2640_bool_t *enable);
3000
3012uint8_t ov2640_set_cmx(ov2640_handle_t *handle, ov2640_bool_t enable);
3013
3025uint8_t ov2640_get_cmx(ov2640_handle_t *handle, ov2640_bool_t *enable);
3026
3038uint8_t ov2640_set_bpc(ov2640_handle_t *handle, ov2640_bool_t enable);
3039
3051uint8_t ov2640_get_bpc(ov2640_handle_t *handle, ov2640_bool_t *enable);
3052
3064uint8_t ov2640_set_wpc(ov2640_handle_t *handle, ov2640_bool_t enable);
3065
3077uint8_t ov2640_get_wpc(ov2640_handle_t *handle, ov2640_bool_t *enable);
3078
3090uint8_t ov2640_set_sde_indirect_register_address(ov2640_handle_t *handle, uint8_t addr);
3091
3103uint8_t ov2640_get_sde_indirect_register_address(ov2640_handle_t *handle, uint8_t *addr);
3104
3116uint8_t ov2640_set_sde_indirect_register_data(ov2640_handle_t *handle, uint8_t data);
3117
3129uint8_t ov2640_get_sde_indirect_register_data(ov2640_handle_t *handle, uint8_t *data);
3130
3143uint8_t ov2640_set_image_horizontal(ov2640_handle_t *handle, uint16_t size);
3144
3156uint8_t ov2640_get_image_horizontal(ov2640_handle_t *handle, uint16_t *size);
3157
3170uint8_t ov2640_set_image_vertical(ov2640_handle_t *handle, uint16_t size);
3171
3183uint8_t ov2640_get_image_vertical(ov2640_handle_t *handle, uint16_t *size);
3184
3196uint8_t ov2640_set_quantization_scale_factor(ov2640_handle_t *handle, uint8_t factor);
3197
3209uint8_t ov2640_get_quantization_scale_factor(ov2640_handle_t *handle, uint8_t *factor);
3210
3222uint8_t ov2640_set_lp_dp(ov2640_handle_t *handle, ov2640_bool_t enable);
3223
3235uint8_t ov2640_get_lp_dp(ov2640_handle_t *handle, ov2640_bool_t *enable);
3236
3248uint8_t ov2640_set_round(ov2640_handle_t *handle, ov2640_bool_t enable);
3249
3261uint8_t ov2640_get_round(ov2640_handle_t *handle, ov2640_bool_t *enable);
3262
3275uint8_t ov2640_set_vertical_divider(ov2640_handle_t *handle, uint8_t divider);
3276
3288uint8_t ov2640_get_vertical_divider(ov2640_handle_t *handle, uint8_t *divider);
3289
3302uint8_t ov2640_set_horizontal_divider(ov2640_handle_t *handle, uint8_t divider);
3303
3315uint8_t ov2640_get_horizontal_divider(ov2640_handle_t *handle, uint8_t *divider);
3316
3329uint8_t ov2640_set_horizontal_size(ov2640_handle_t *handle, uint16_t size);
3330
3342uint8_t ov2640_get_horizontal_size(ov2640_handle_t *handle, uint16_t *size);
3343
3356uint8_t ov2640_set_vertical_size(ov2640_handle_t *handle, uint16_t size);
3357
3369uint8_t ov2640_get_vertical_size(ov2640_handle_t *handle, uint16_t *size);
3370
3383uint8_t ov2640_set_offset_x(ov2640_handle_t *handle, uint16_t size);
3384
3396uint8_t ov2640_get_offset_x(ov2640_handle_t *handle, uint16_t *size);
3397
3410uint8_t ov2640_set_offset_y(ov2640_handle_t *handle, uint16_t size);
3411
3423uint8_t ov2640_get_offset_y(ov2640_handle_t *handle, uint16_t *size);
3424
3437uint8_t ov2640_set_dp_selx(ov2640_handle_t *handle, uint8_t size);
3438
3450uint8_t ov2640_get_dp_selx(ov2640_handle_t *handle, uint8_t *size);
3451
3464uint8_t ov2640_set_dp_sely(ov2640_handle_t *handle, uint8_t size);
3465
3477uint8_t ov2640_get_dp_sely(ov2640_handle_t *handle, uint8_t *size);
3478
3491uint8_t ov2640_set_output_width(ov2640_handle_t *handle, uint16_t size);
3492
3504uint8_t ov2640_get_output_width(ov2640_handle_t *handle, uint16_t *size);
3505
3518uint8_t ov2640_set_output_height(ov2640_handle_t *handle, uint16_t size);
3519
3531uint8_t ov2640_get_output_height(ov2640_handle_t *handle, uint16_t *size);
3532
3545uint8_t ov2640_set_zoom_speed(ov2640_handle_t *handle, uint8_t speed);
3546
3558uint8_t ov2640_get_zoom_speed(ov2640_handle_t *handle, uint8_t *speed);
3559
3563
3570
3583
3596
3608uint8_t ov2640_set_brightness(ov2640_handle_t *handle, ov2640_brightness_t brightness);
3609
3621uint8_t ov2640_set_contrast(ov2640_handle_t *handle, ov2640_contrast_t contrast);
3622
3635
3639
3646
3659uint8_t ov2640_set_dsp_reg(ov2640_handle_t *handle, uint8_t reg, uint8_t data);
3660
3673uint8_t ov2640_get_dsp_reg(ov2640_handle_t *handle, uint8_t reg, uint8_t *data);
3674
3687uint8_t ov2640_set_sensor_reg(ov2640_handle_t *handle, uint8_t reg, uint8_t data);
3688
3701uint8_t ov2640_get_sensor_reg(ov2640_handle_t *handle, uint8_t reg, uint8_t *data);
3702
3706
3710
3711#ifdef __cplusplus
3712}
3713#endif
3714
3715#endif
uint8_t ov2640_get_awb(ov2640_handle_t *handle, ov2640_bool_t *enable)
get awb status
uint8_t ov2640_set_offset_y(ov2640_handle_t *handle, uint16_t size)
set offset y
uint8_t ov2640_set_aec_enable(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable aec enable
uint8_t ov2640_set_vertical_size(ov2640_handle_t *handle, uint16_t size)
set vertical size
uint8_t ov2640_set_awb_gain(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable awb gain
uint8_t ov2640_get_byte_swap(ov2640_handle_t *handle, ov2640_byte_swap_t *byte_swap)
get byte swap
uint8_t ov2640_set_cip(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable cip
uint8_t ov2640_set_vfirst(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable vfirst
uint8_t ov2640_set_output_width(ov2640_handle_t *handle, uint16_t size)
set output width
ov2640_dvp_output_format_t
ov2640 dvp output format enumeration definition
uint8_t ov2640_get_sde(ov2640_handle_t *handle, ov2640_bool_t *enable)
get sde status
uint8_t ov2640_set_rgb(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable rgb
uint8_t ov2640_set_pre(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable pre
uint8_t ov2640_get_quantization_scale_factor(ov2640_handle_t *handle, uint8_t *factor)
get quantization scale factor
uint8_t ov2640_set_sccb_protocol_command(ov2640_handle_t *handle, uint8_t cmd)
set sccb protocol command
uint8_t ov2640_get_wpc(ov2640_handle_t *handle, ov2640_bool_t *enable)
get wpc status
uint8_t ov2640_get_yuv(ov2640_handle_t *handle, ov2640_bool_t *enable)
get yuv status
uint8_t ov2640_set_dg(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable dg
uint8_t ov2640_get_image_vertical(ov2640_handle_t *handle, uint16_t *size)
get image vertical
uint8_t ov2640_get_offset_x(ov2640_handle_t *handle, uint16_t *size)
get offset x
uint8_t ov2640_set_uv_avg(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable uv avg
uint8_t ov2640_get_aec_sel(ov2640_handle_t *handle, ov2640_bool_t *enable)
get aec sel status
uint8_t ov2640_get_sensor_pass_through_access(ov2640_handle_t *handle, ov2640_bool_t *enable)
get sensor pass through access status
uint8_t ov2640_get_dmy(ov2640_handle_t *handle, ov2640_bool_t *enable)
get dmy status
uint8_t ov2640_set_dvp_y8(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable dvp y8
uint8_t ov2640_set_sde(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable sde
uint8_t ov2640_set_sccb_master_access(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable sccb master access
uint8_t ov2640_get_cmx(ov2640_handle_t *handle, ov2640_bool_t *enable)
get cmx status
uint8_t ov2640_get_dvp_y8(ov2640_handle_t *handle, ov2640_bool_t *enable)
get dvp y8 status
uint8_t ov2640_set_address_auto_increase(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable address auto increase
uint8_t ov2640_set_round(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable round
uint8_t ov2640_get_dsp_bypass(ov2640_handle_t *handle, ov2640_bool_t *enable)
get dsp bypass status
uint8_t ov2640_get_dg(ov2640_handle_t *handle, ov2640_bool_t *enable)
get dg status
uint8_t ov2640_set_sccb_master_clock_delay(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable sccb master clock delay
uint8_t ov2640_set_sccb(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable sccb
uint8_t ov2640_get_sccb_master_clock_delay(ov2640_handle_t *handle, ov2640_bool_t *enable)
get sccb master clock delay status
uint8_t ov2640_get_stat_sel(ov2640_handle_t *handle, ov2640_bool_t *enable)
get stat sel status
uint8_t ov2640_set_lp_dp(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable lp dp
uint8_t ov2640_set_horizontal_divider(ov2640_handle_t *handle, uint8_t divider)
set horizontal divider
uint8_t ov2640_get_raw_gma(ov2640_handle_t *handle, ov2640_bool_t *enable)
get raw gma status
uint8_t ov2640_set_dvp_pclk(ov2640_handle_t *handle, uint8_t pclk)
set dvp pclk
uint8_t ov2640_get_lp_dp(ov2640_handle_t *handle, ov2640_bool_t *enable)
get lp dp status
uint8_t ov2640_set_bist(ov2640_handle_t *handle, ov2640_bist_t bist, ov2640_bool_t enable)
enable or disable bist
uint8_t ov2640_get_sde_indirect_register_address(ov2640_handle_t *handle, uint8_t *addr)
get sde indirect register address
uint8_t ov2640_get_vertical_divider(ov2640_handle_t *handle, uint8_t *divider)
get vertical divider
uint8_t ov2640_get_output_width(ov2640_handle_t *handle, uint16_t *size)
get output width
uint8_t ov2640_get_sccb_master_access(ov2640_handle_t *handle, ov2640_bool_t *enable)
get sccb master access status
uint8_t ov2640_set_program_memory_pointer_address(ov2640_handle_t *handle, uint16_t addr)
set program memory pointer address
uint8_t ov2640_set_raw(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable raw
uint8_t ov2640_set_yuv422(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable yuv422
uint8_t ov2640_set_uv_adj(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable uv adj
uint8_t ov2640_set_dp_selx(ov2640_handle_t *handle, uint8_t size)
set dp selx
uint8_t ov2640_get_sccb_protocol_command(ov2640_handle_t *handle, uint8_t *cmd)
get sccb protocol command
uint8_t ov2640_get_jpeg_output(ov2640_handle_t *handle, ov2640_bool_t *enable)
get jpeg output status
uint8_t ov2640_set_quantization_scale_factor(ov2640_handle_t *handle, uint8_t factor)
set quantization scale factor
uint8_t ov2640_set_horizontal_size(ov2640_handle_t *handle, uint16_t size)
set horizontal size
uint8_t ov2640_get_uv_avg(ov2640_handle_t *handle, ov2640_bool_t *enable)
get uv avg status
uint8_t ov2640_set_vertical_divider(ov2640_handle_t *handle, uint8_t divider)
set vertical divider
uint8_t ov2640_set_raw_gma(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable raw gma
uint8_t ov2640_set_stat_sel(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable stat sel
uint8_t ov2640_set_sensor_pass_through_access(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable sensor pass through access
uint8_t ov2640_get_output_height(ov2640_handle_t *handle, uint16_t *size)
get output height
ov2640_byte_swap_t
ov2640 byte sawp enumeration definition
uint8_t ov2640_set_output_height(ov2640_handle_t *handle, uint16_t size)
set output height
ov2640_bist_t
ov2640 bist enumeration definition
uint8_t ov2640_get_sccb_protocol_status(ov2640_handle_t *handle, uint8_t *status)
get sccb protocol status
uint8_t ov2640_get_vertical_size(ov2640_handle_t *handle, uint16_t *size)
get vertical size
uint8_t ov2640_set_reset(ov2640_handle_t *handle, ov2640_reset_t type, ov2640_bool_t enable)
enable or disable reset
uint8_t ov2640_set_image_horizontal(ov2640_handle_t *handle, uint16_t size)
set image horizontal
uint8_t ov2640_set_cmx(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable cmx
uint8_t ov2640_get_raw(ov2640_handle_t *handle, ov2640_bool_t *enable)
get raw status
uint8_t ov2640_get_image_horizontal(ov2640_handle_t *handle, uint16_t *size)
get image horizontal
uint8_t ov2640_set_bpc(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable bpc
uint8_t ov2640_get_sccb(ov2640_handle_t *handle, ov2640_bool_t *enable)
get sccb status
ov2640_reset_t
ov2640 reset enumeration definition
uint8_t ov2640_get_program_memory_pointer_access_address(ov2640_handle_t *handle, uint8_t *addr)
get program memory pointer access address
uint8_t ov2640_get_address_auto_increase(ov2640_handle_t *handle, ov2640_bool_t *enable)
get address auto increase status
uint8_t ov2640_set_byte_swap(ov2640_handle_t *handle, ov2640_byte_swap_t byte_swap)
set byte swap
uint8_t ov2640_get_zoom_speed(ov2640_handle_t *handle, uint8_t *speed)
get zoom speed
uint8_t ov2640_get_dcw(ov2640_handle_t *handle, ov2640_bool_t *enable)
get dcw status
uint8_t ov2640_get_round(ov2640_handle_t *handle, ov2640_bool_t *enable)
get round status
uint8_t ov2640_get_lenc(ov2640_handle_t *handle, ov2640_bool_t *enable)
get lenc status
uint8_t ov2640_set_zoom_speed(ov2640_handle_t *handle, uint8_t speed)
set zoom speed
ov2640_href_timing_t
ov2640 href timing enumeration definition
uint8_t ov2640_get_rgb(ov2640_handle_t *handle, ov2640_bool_t *enable)
get rgb status
uint8_t ov2640_set_dvp_jpeg_output_href_timing(ov2640_handle_t *handle, ov2640_href_timing_t timing)
set dvp jpeg output href timing
uint8_t ov2640_get_reset(ov2640_handle_t *handle, ov2640_reset_t type, ov2640_bool_t *enable)
get reset status
uint8_t ov2640_set_aec_sel(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable aec sel
uint8_t ov2640_set_awb(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable awb
uint8_t ov2640_set_offset_x(ov2640_handle_t *handle, uint16_t size)
set offset x
uint8_t ov2640_get_pre(ov2640_handle_t *handle, ov2640_bool_t *enable)
get pre status
uint8_t ov2640_set_sde_indirect_register_data(ov2640_handle_t *handle, uint8_t data)
set sde indirect register data
uint8_t ov2640_set_jpeg_output(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable jpeg output
uint8_t ov2640_get_sde_indirect_register_data(ov2640_handle_t *handle, uint8_t *data)
get sde indirect register data
uint8_t ov2640_set_sde_indirect_register_address(ov2640_handle_t *handle, uint8_t addr)
set sde indirect register address
uint8_t ov2640_set_image_vertical(ov2640_handle_t *handle, uint16_t size)
set image vertical
uint8_t ov2640_get_sccb_slave_id(ov2640_handle_t *handle, uint8_t *id)
get sccb slave id
uint8_t ov2640_get_bist(ov2640_handle_t *handle, ov2640_bist_t bist, ov2640_bool_t *enable)
get bist status
uint8_t ov2640_set_lenc(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable lenc
uint8_t ov2640_get_program_memory_pointer_address(ov2640_handle_t *handle, uint16_t *addr)
get program memory pointer address
uint8_t ov2640_get_uv_adj(ov2640_handle_t *handle, ov2640_bool_t *enable)
get uv adj status
uint8_t ov2640_set_dsp_bypass(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable dsp bypass
uint8_t ov2640_get_dvp_jpeg_output_href_timing(ov2640_handle_t *handle, ov2640_href_timing_t *timing)
get dvp jpeg output href timing
uint8_t ov2640_get_vfirst(ov2640_handle_t *handle, ov2640_bool_t *enable)
get vfirst status
uint8_t ov2640_get_horizontal_divider(ov2640_handle_t *handle, uint8_t *divider)
get horizontal divider
uint8_t ov2640_get_dvp_pclk(ov2640_handle_t *handle, uint8_t *pclk)
get dvp pclk
uint8_t ov2640_get_yuv422(ov2640_handle_t *handle, ov2640_bool_t *enable)
get yuv422 status
uint8_t ov2640_get_cip(ov2640_handle_t *handle, ov2640_bool_t *enable)
get cip status
uint8_t ov2640_get_dp_selx(ov2640_handle_t *handle, uint8_t *size)
get dp selx
uint8_t ov2640_set_auto_mode(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable auto_mode
uint8_t ov2640_set_sccb_slave_id(ov2640_handle_t *handle, uint8_t id)
set sccb slave id
uint8_t ov2640_get_bpc(ov2640_handle_t *handle, ov2640_bool_t *enable)
get bpc status
uint8_t ov2640_get_horizontal_size(ov2640_handle_t *handle, uint16_t *size)
get horizontal size
uint8_t ov2640_set_wpc(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable wpc
uint8_t ov2640_set_yuv(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable yuv
uint8_t ov2640_get_auto_mode(ov2640_handle_t *handle, ov2640_bool_t *enable)
get auto mode status
uint8_t ov2640_get_sccb_master_speed(ov2640_handle_t *handle, uint8_t *speed)
get sccb master speed
uint8_t ov2640_get_dvp_output_format(ov2640_handle_t *handle, ov2640_dvp_output_format_t *format)
get dvp output format
uint8_t ov2640_get_awb_gain(ov2640_handle_t *handle, ov2640_bool_t *enable)
get awb gain status
uint8_t ov2640_set_program_memory_pointer_access_address(ov2640_handle_t *handle, uint8_t addr)
set program memory pointer access address
uint8_t ov2640_set_sccb_master_speed(ov2640_handle_t *handle, uint8_t speed)
set sccb master speed
uint8_t ov2640_set_dmy(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable dmy
uint8_t ov2640_get_aec_enable(ov2640_handle_t *handle, ov2640_bool_t *enable)
get aec enable status
uint8_t ov2640_set_sccb_protocol_status(ov2640_handle_t *handle, uint8_t status)
set sccb protocol status
uint8_t ov2640_set_dcw(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable dcw
uint8_t ov2640_set_dvp_output_format(ov2640_handle_t *handle, ov2640_dvp_output_format_t format)
set dvp output format
uint8_t ov2640_set_dp_sely(ov2640_handle_t *handle, uint8_t size)
set dp sely
uint8_t ov2640_get_offset_y(ov2640_handle_t *handle, uint16_t *size)
get offset y
uint8_t ov2640_get_dp_sely(ov2640_handle_t *handle, uint8_t *size)
get dp sely
@ OV2640_DVP_OUTPUT_FORMAT_YUV422
@ OV2640_DVP_OUTPUT_FORMAT_RGB565
@ OV2640_DVP_OUTPUT_FORMAT_RAW10
@ OV2640_BYTE_SWAP_UVUV
@ OV2640_BYTE_SWAP_YUYV
@ OV2640_BIST_BOOT_ROM
@ OV2640_BIST_RW_1_ERROR_512_BYTE
@ OV2640_BIST_RW_1_ERROR_12K_BYTE
@ OV2640_BIST_RW_0_ERROR_12K_BYTE
@ OV2640_BIST_BUSY_OR_SHOT_RESET
@ OV2640_BIST_MICROCONTROLLER_RESET
@ OV2640_BIST_RW_0_ERROR_512_BYTE
@ OV2640_BIST_LAUNCH
@ OV2640_RESET_JPEG
@ OV2640_RESET_CIF
@ OV2640_RESET_MICROCONTROLLER
@ OV2640_RESET_SCCB
@ OV2640_RESET_DVP
@ OV2640_RESET_IPU
@ OV2640_HREF_TIMING_VSYNC
@ OV2640_HREF_TIMING_SENSOR
uint8_t ov2640_get_dsp_reg(ov2640_handle_t *handle, uint8_t reg, uint8_t *data)
get dsp reg
uint8_t ov2640_set_dsp_reg(ov2640_handle_t *handle, uint8_t reg, uint8_t data)
set dsp reg
uint8_t ov2640_set_sensor_reg(ov2640_handle_t *handle, uint8_t reg, uint8_t data)
set sensor reg
uint8_t ov2640_get_sensor_reg(ov2640_handle_t *handle, uint8_t reg, uint8_t *data)
get sensor reg
uint8_t ov2640_set_special_effect(ov2640_handle_t *handle, ov2640_special_effect_t effect)
set special effect
ov2640_special_effect_t
ov2640 special effect enumeration definition
uint8_t ov2640_set_light_mode(ov2640_handle_t *handle, ov2640_light_mode_t mode)
set light mode
ov2640_contrast_t
ov2640 contrast enumeration definition
ov2640_brightness_t
ov2640 brightness enumeration definition
ov2640_color_saturation_t
ov2640 color saturation enumeration definition
uint8_t ov2640_set_color_saturation(ov2640_handle_t *handle, ov2640_color_saturation_t color)
set color saturation
uint8_t ov2640_set_contrast(ov2640_handle_t *handle, ov2640_contrast_t contrast)
set contrast
ov2640_light_mode_t
ov2640 light mode enumeration definition
uint8_t ov2640_set_brightness(ov2640_handle_t *handle, ov2640_brightness_t brightness)
set brightness
@ OV2640_SPECIAL_EFFECT_ANTIQUE
@ OV2640_SPECIAL_EFFECT_BW_NEGATIVE
@ OV2640_SPECIAL_EFFECT_GREENISH
@ OV2640_SPECIAL_EFFECT_BLUISH
@ OV2640_SPECIAL_EFFECT_REDDISH
@ OV2640_SPECIAL_EFFECT_NEGATIVE
@ OV2640_SPECIAL_EFFECT_NORMAL
@ OV2640_SPECIAL_EFFECT_BW
@ OV2640_CONTRAST_POSITIVE_1
@ OV2640_CONTRAST_0
@ OV2640_CONTRAST_NEGATIVE_1
@ OV2640_CONTRAST_POSITIVE_2
@ OV2640_CONTRAST_NEGATIVE_2
@ OV2640_BRIGHTNESS_0
@ OV2640_BRIGHTNESS_NEGATIVE_1
@ OV2640_BRIGHTNESS_NEGATIVE_2
@ OV2640_BRIGHTNESS_POSITIVE_2
@ OV2640_BRIGHTNESS_POSITIVE_1
@ OV2640_COLOR_SATURATION_NEGATIVE_1
@ OV2640_COLOR_SATURATION_POSITIVE_2
@ OV2640_COLOR_SATURATION_POSITIVE_1
@ OV2640_COLOR_SATURATION_0
@ OV2640_COLOR_SATURATION_NEGATIVE_2
@ OV2640_LIGHT_MODE_OFFICE
@ OV2640_LIGHT_MODE_CLOUDY
@ OV2640_LIGHT_MODE_SUNNY
@ OV2640_LIGHT_MODE_HOME
@ OV2640_LIGHT_MODE_AUTO
uint8_t ov2640_get_power_reset_pin_remap(ov2640_handle_t *handle, ov2640_bool_t *enable)
get power reset pin remap status
uint8_t ov2640_table_jpeg_init(ov2640_handle_t *handle)
table jpeg init
uint8_t ov2640_get_line_interval_adjust(ov2640_handle_t *handle, uint16_t *adjust)
get line interval adjust
uint8_t ov2640_get_luminance_signal_high_range(ov2640_handle_t *handle, uint8_t *range)
get luminance signal high range
uint8_t ov2640_table_rgb565_init(ov2640_handle_t *handle)
table rgb565 init
uint8_t ov2640_set_vertical_flip(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable vertical flip
ov2640_edge_t
ov2640 edge enumeration definition
uint8_t ov2640_get_hsync_position_and_width_end_point(ov2640_handle_t *handle, uint16_t *position)
get hsync position and width end point
uint8_t ov2640_get_agc_gain(ov2640_handle_t *handle, uint16_t *gain)
get agc gain
uint8_t ov2640_get_luminance_average(ov2640_handle_t *handle, uint8_t *average)
get luminance average
uint8_t ov2640_set_hsync_polarity(ov2640_handle_t *handle, ov2640_polarity_t polarity)
set hsync polarity
uint8_t ov2640_set_60hz_banding_aec(ov2640_handle_t *handle, uint16_t aec)
set 60hz banding aec
uint8_t ov2640_set_horizontal_window_end(ov2640_handle_t *handle, uint16_t end)
set horizontal window end
uint8_t ov2640_set_mode(ov2640_handle_t *handle, ov2640_mode_t mode)
set mode
uint8_t ov2640_get_16_zone_average_weight_option(ov2640_handle_t *handle, uint32_t *avg)
get 16 zone average weight option
uint8_t ov2640_get_band_filter(ov2640_handle_t *handle, ov2640_bool_t *enable)
get band filter status
uint8_t ov2640_get_href_chsync_swap(ov2640_handle_t *handle, ov2640_bool_t *enable)
get href chsync swap status
uint8_t ov2640_set_frame_length_adjustment(ov2640_handle_t *handle, uint16_t frame)
set frame length adjustment
ov2640_resolution_t
ov2640 resolution enumeration definition
struct ov2640_info_s ov2640_info_t
ov2640 information structure definition
uint8_t ov2640_set_hsync_position_and_width_end_point(ov2640_handle_t *handle, uint16_t position)
set hsync position and width end point
uint8_t ov2640_set_clock_rate_double(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable double clock rate
uint8_t ov2640_set_href_chsync_swap(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable href chsync swap
uint8_t ov2640_table_init(ov2640_handle_t *handle)
table init
uint8_t ov2640_set_pclk(ov2640_handle_t *handle, ov2640_pclk_t pclk)
set pclk
uint8_t ov2640_get_clock_divider(ov2640_handle_t *handle, uint8_t *divider)
get clock divider
uint8_t ov2640_deinit(ov2640_handle_t *handle)
close the chip
ov2640_agc_gain_t
ov2640 agc gain enumeration definition
uint8_t ov2640_set_output_drive(ov2640_handle_t *handle, ov2640_output_drive_t select)
set output drive
uint8_t ov2640_set_flash_light(ov2640_handle_t *handle, uint8_t control)
set flash light
uint8_t ov2640_get_histogram_algorithm_high_level(ov2640_handle_t *handle, uint8_t *level)
get histogram algorithm high level
uint8_t ov2640_get_frame_length_adjustment(ov2640_handle_t *handle, uint16_t *frame)
get frame length adjustment
uint8_t ov2640_get_horizontal_window_start(ov2640_handle_t *handle, uint16_t *start)
get horizontal window start
uint8_t ov2640_set_vertical_window_line_start(ov2640_handle_t *handle, uint16_t start)
set vertical window line start
uint8_t ov2640_get_luminance_signal_low_range(ov2640_handle_t *handle, uint8_t *range)
get luminance signal low range
uint8_t ov2640_set_zoom(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable zoom
uint8_t ov2640_get_zoom_mode_vertical_window_start_point(ov2640_handle_t *handle, uint16_t *point)
get zoom mode vertical window start point
uint8_t ov2640_set_vertical_window_line_end(ov2640_handle_t *handle, uint16_t end)
set vertical window line end
uint8_t ov2640_get_resolution(ov2640_handle_t *handle, ov2640_resolution_t *resolution)
get resolution
ov2640_pin_status_t
ov2640 pin status enumeration definition
uint8_t ov2640_get_pclk(ov2640_handle_t *handle, ov2640_pclk_t *pclk)
get pclk
uint8_t ov2640_set_live_video_after_snapshot(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable live video after snapshot
uint8_t ov2640_get_zoom_window_horizontal_start_point(ov2640_handle_t *handle, ov2640_bool_t *enable)
get zoom window horizontal start point status
uint8_t ov2640_get_output_drive(ov2640_handle_t *handle, ov2640_output_drive_t *select)
get output drive
uint8_t ov2640_set_pclk_edge(ov2640_handle_t *handle, ov2640_edge_t edge)
set pclk edge
uint8_t ov2640_get_fast_mode_large_step_range(ov2640_handle_t *handle, uint8_t *high_threshold, uint8_t *low_threshold)
get fast mode large step range
uint8_t ov2640_set_band(ov2640_handle_t *handle, ov2640_band_t band)
set band
ov2640_control_t
ov2640 control enumeration definition
uint8_t ov2640_set_aec(ov2640_handle_t *handle, uint16_t aec)
set aec
uint8_t ov2640_info(ov2640_info_t *info)
get chip's information
uint8_t ov2640_set_clock_output_power_down_pin_status(ov2640_handle_t *handle, ov2640_pin_status_t status)
set clock output power down pin status
uint8_t ov2640_get_vertical_window_line_start(ov2640_handle_t *handle, uint16_t *start)
get vertical window line start
uint8_t ov2640_get_60hz_banding_aec(ov2640_handle_t *handle, uint16_t *aec)
get 60hz banding aec
uint8_t ov2640_set_line_interval_adjust(ov2640_handle_t *handle, uint16_t adjust)
set line interval adjust
uint8_t ov2640_set_pclk_output_qualified_by_href(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable pclk output qualified by href
uint8_t ov2640_set_auto_band(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable auto band
uint8_t ov2640_get_horizontal_window_end(ov2640_handle_t *handle, uint16_t *end)
get horizontal window end
uint8_t ov2640_set_zoom_mode_vertical_window_start_point(ov2640_handle_t *handle, uint16_t point)
set zoom mode vertical window start point
uint8_t ov2640_get_vsync_polarity(ov2640_handle_t *handle, ov2640_polarity_t *polarity)
get vsync polarity
uint8_t ov2640_get_chsync_href_swap(ov2640_handle_t *handle, ov2640_bool_t *enable)
get chsync href swap status
uint8_t ov2640_set_exposure_control(ov2640_handle_t *handle, ov2640_control_t control)
set exposure control
uint8_t ov2640_set_luminance_signal_low_range(ov2640_handle_t *handle, uint8_t range)
set luminance signal low range
uint8_t ov2640_get_frame_exposure_pre_charge_row_number(ov2640_handle_t *handle, uint8_t *num)
get frame exposure pre charge row number
uint8_t ov2640_get_flash_light(ov2640_handle_t *handle, uint8_t *control)
get flash light
uint8_t ov2640_get_aec(ov2640_handle_t *handle, uint16_t *aec)
get aec
uint8_t ov2640_set_dummy_frame(ov2640_handle_t *handle, ov2640_dummy_frame_t frame)
set dummy frame
uint8_t ov2640_get_hsync_position_and_width_start_point(ov2640_handle_t *handle, uint16_t *position)
get hsync position and width start point
uint8_t ov2640_set_16_zone_average_weight_option(ov2640_handle_t *handle, uint32_t avg)
set 16 zone average weight option
uint8_t ov2640_set_color_bar_test(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable color bar test
uint8_t ov2640_get_vsync_pulse_width(ov2640_handle_t *handle, uint16_t *width)
get vsync pulse width
ov2640_bool_t
ov2640 bool enumeration definition
ov2640_output_drive_t
ov2640 output drive enumeration definition
uint8_t ov2640_set_chsync_href_swap(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable chsync href swap
struct ov2640_handle_s ov2640_handle_t
ov2640 handle structure definition
uint8_t ov2640_set_frame_exposure_pre_charge_row_number(ov2640_handle_t *handle, uint8_t num)
set frame exposure pre charge row number
uint8_t ov2640_get_hsync_polarity(ov2640_handle_t *handle, ov2640_polarity_t *polarity)
get hsync polarity
uint8_t ov2640_set_50hz_banding_aec(ov2640_handle_t *handle, uint16_t aec)
set 50hz banding aec
uint8_t ov2640_get_agc_control(ov2640_handle_t *handle, ov2640_control_t *control)
get agc control
uint8_t ov2640_set_resolution(ov2640_handle_t *handle, ov2640_resolution_t resolution)
set resolution
uint8_t ov2640_init(ov2640_handle_t *handle)
initialize the chip
uint8_t ov2640_set_clock_divider(ov2640_handle_t *handle, uint8_t divider)
set clock divider
ov2640_mode_t
ov2640 mode enumeration definition
uint8_t ov2640_set_fast_mode_large_step_range(ov2640_handle_t *handle, uint8_t high_threshold, uint8_t low_threshold)
set fast mode large step range
uint8_t ov2640_set_agc_gain_ceiling(ov2640_handle_t *handle, ov2640_agc_gain_t agc)
set agc
uint8_t ov2640_get_pclk_edge(ov2640_handle_t *handle, ov2640_edge_t *edge)
get pclk edge
uint8_t ov2640_set_horizontal_mirror(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable horizontal mirror
uint8_t ov2640_get_zoom(ov2640_handle_t *handle, ov2640_bool_t *enable)
get zoom status
uint8_t ov2640_get_exposure_control(ov2640_handle_t *handle, ov2640_control_t *control)
get exposure control
uint8_t ov2640_set_vsync_polarity(ov2640_handle_t *handle, ov2640_polarity_t polarity)
set vsync polarity
uint8_t ov2640_get_vertical_flip(ov2640_handle_t *handle, ov2640_bool_t *enable)
get vertical flip status
uint8_t ov2640_set_agc_control(ov2640_handle_t *handle, ov2640_control_t control)
set agc control
uint8_t ov2640_get_auto_band(ov2640_handle_t *handle, ov2640_bool_t *enable)
get auto band status
uint8_t ov2640_set_histogram_algorithm_high_level(ov2640_handle_t *handle, uint8_t level)
set histogram algorithm high level
uint8_t ov2640_set_band_filter(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable band filter
uint8_t ov2640_get_histogram_algorithm_low_level(ov2640_handle_t *handle, uint8_t *level)
get histogram algorithm low level
uint8_t ov2640_get_clock_output_power_down_pin_status(ov2640_handle_t *handle, ov2640_pin_status_t *status)
get clock output power down pin status
uint8_t ov2640_get_pclk_output_qualified_by_href(ov2640_handle_t *handle, ov2640_bool_t *enable)
get pclk output qualified by href status
ov2640_polarity_t
ov2640 polarity enumeration definition
uint8_t ov2640_get_mode(ov2640_handle_t *handle, ov2640_mode_t *mode)
get mode
ov2640_band_t
ov2640 band enumeration definition
uint8_t ov2640_set_luminance_signal_high_range(ov2640_handle_t *handle, uint8_t range)
set luminance signal high range
uint8_t ov2640_set_luminance_average(ov2640_handle_t *handle, uint8_t average)
set luminance average
uint8_t ov2640_get_50hz_banding_aec(ov2640_handle_t *handle, uint16_t *aec)
get 50hz banding aec
uint8_t ov2640_get_horizontal_mirror(ov2640_handle_t *handle, ov2640_bool_t *enable)
get horizontal mirror status
uint8_t ov2640_set_horizontal_window_start(ov2640_handle_t *handle, uint16_t start)
set horizontal window start
uint8_t ov2640_get_agc_gain_ceiling(ov2640_handle_t *handle, ov2640_agc_gain_t *agc)
get agc
uint8_t ov2640_set_hsync_position_and_width_start_point(ov2640_handle_t *handle, uint16_t position)
set hsync position and width start point
uint8_t ov2640_set_href_polarity(ov2640_handle_t *handle, ov2640_polarity_t polarity)
set href polarity
uint8_t ov2640_get_href_polarity(ov2640_handle_t *handle, ov2640_polarity_t *polarity)
get href polarity
uint8_t ov2640_get_band(ov2640_handle_t *handle, ov2640_band_t *band)
get band
uint8_t ov2640_set_zoom_window_horizontal_start_point(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable zoom window horizontal start point
uint8_t ov2640_set_power_reset_pin_remap(ov2640_handle_t *handle, ov2640_bool_t enable)
enable or disable power reset pin remap
uint8_t ov2640_set_agc_gain(ov2640_handle_t *handle, uint16_t gain)
set agc gain
uint8_t ov2640_soft_reset(ov2640_handle_t *handle)
soft reset
uint8_t ov2640_get_live_video_after_snapshot(ov2640_handle_t *handle, ov2640_bool_t *enable)
get live video after snapshot status
uint8_t ov2640_set_histogram_algorithm_low_level(ov2640_handle_t *handle, uint8_t level)
set histogram algorithm low level
uint8_t ov2640_get_color_bar_test(ov2640_handle_t *handle, ov2640_bool_t *enable)
get color bar test status
ov2640_pclk_t
ov2640 pclk enumeration definition
uint8_t ov2640_get_dummy_frame(ov2640_handle_t *handle, ov2640_dummy_frame_t *frame)
get dummy frame
ov2640_dummy_frame_t
ov2640 dummy frame enumeration definition
uint8_t ov2640_set_vsync_pulse_width(ov2640_handle_t *handle, uint16_t width)
set vsync pulse width
uint8_t ov2640_get_vertical_window_line_end(ov2640_handle_t *handle, uint16_t *end)
get vertical window line end
uint8_t ov2640_get_clock_rate_double(ov2640_handle_t *handle, ov2640_bool_t *enable)
get clock rate double status
@ OV2640_EDGE_FALLING
@ OV2640_EDGE_RISING
@ OV2640_RESOLUTION_CIF
@ OV2640_RESOLUTION_SVGA
@ OV2640_RESOLUTION_UXGA
@ OV2640_AGC_128X
@ OV2640_AGC_4X
@ OV2640_AGC_64X
@ OV2640_AGC_8X
@ OV2640_AGC_16X
@ OV2640_AGC_2X
@ OV2640_AGC_32X
@ OV2640_PIN_STATUS_LAST_STATE
@ OV2640_PIN_STATUS_TRI_STATE
@ OV2640_CONTROL_MANUAL
@ OV2640_CONTROL_AUTO
@ OV2640_BOOL_FALSE
@ OV2640_BOOL_TRUE
@ OV2640_OUTPUT_DRIVE_3_CAPABILITY
@ OV2640_OUTPUT_DRIVE_1_CAPABILITY
@ OV2640_OUTPUT_DRIVE_2_CAPABILITY
@ OV2640_OUTPUT_DRIVE_4_CAPABILITY
@ OV2640_MODE_STANDBY
@ OV2640_MODE_NORMAL
@ OV2640_POLARITY_NEGATIVE
@ OV2640_POLARITY_POSITIVE
@ OV2640_BAND_50HZ
@ OV2640_BAND_60HZ
@ OV2640_PCLK_DIVIDE_4
@ OV2640_PCLK_NO_EFFECT
@ OV2640_PCLK_DIVIDE_2
@ OV2640_DUMMY_FRAME_7
@ OV2640_DUMMY_FRAME_NONE
@ OV2640_DUMMY_FRAME_3
@ OV2640_DUMMY_FRAME_1
ov2640 handle structure definition
uint8_t(* power_down_init)(void)
uint8_t(* sccb_deinit)(void)
void(* delay_ms)(uint32_t ms)
uint8_t(* reset_write)(uint8_t level)
uint8_t(* sccb_init)(void)
void(* debug_print)(const char *const fmt,...)
uint8_t(* power_down_write)(uint8_t level)
uint8_t(* sccb_read)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
uint8_t(* reset_deinit)(void)
uint8_t(* reset_init)(void)
uint8_t(* sccb_write)(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
uint8_t(* power_down_deinit)(void)
ov2640 information structure definition
float supply_voltage_max_v
uint32_t driver_version
char interface[16]
char manufacturer_name[32]
float supply_voltage_min_v
char chip_name[32]