Select one of the symbols to view example projects that use it.
 
Outline
#include <stdint.h>
#include <stdbool.h>
#include "esp_err.h"
#include "esp_cam_ctlr_types.h"
esp_cam_ctlr_enable(esp_cam_ctlr_handle_t);
esp_cam_ctlr_start(esp_cam_ctlr_handle_t);
esp_cam_ctlr_stop(esp_cam_ctlr_handle_t);
esp_cam_ctlr_disable(esp_cam_ctlr_handle_t);
esp_cam_ctlr_receive(esp_cam_ctlr_handle_t, esp_cam_ctlr_trans_t *, uint32_t);
esp_cam_ctlr_del(esp_cam_ctlr_handle_t);
esp_cam_ctlr_register_event_callbacks(esp_cam_ctlr_handle_t, const esp_cam_ctlr_evt_cbs_t *, void *);
esp_cam_ctlr_get_frame_buffer(esp_cam_ctlr_handle_t, uint32_t, const void **, ...);
esp_cam_ctlr_get_frame_buffer_len(esp_cam_ctlr_handle_t, size_t *);
Files
loading...
SourceVuESP-IDF Framework and ExamplesESP-IDFcomponents/esp_driver_cam/include/esp_cam_ctlr.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/* * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 *//* ... */ #pragma once #include <stdint.h> #include <stdbool.h> #include "esp_err.h" #include "esp_cam_ctlr_types.h" #ifdef __cplusplus extern "C" { #endif /** * @brief Enable ESP CAM controller * * @param[in] handle ESP CAM controller handle * * @return * - ESP_OK * - ESP_ERR_INVALID_ARG: Invalid argument * - ESP_ERR_INVALID_STATE: Invalid state *//* ... */ esp_err_t esp_cam_ctlr_enable(esp_cam_ctlr_handle_t handle); /** * @brief Start ESP CAM controller * * @param[in] handle ESP CAM controller handle * * @return * - ESP_OK * - ESP_ERR_INVALID_ARG: Invalid argument * - ESP_ERR_INVALID_STATE: Invalid state *//* ... */ esp_err_t esp_cam_ctlr_start(esp_cam_ctlr_handle_t handle); /** * @brief Stop ESP CAM controller * * @param[in] handle ESP CAM controller handle * * @return * - ESP_OK * - ESP_ERR_INVALID_ARG: Invalid argument * - ESP_ERR_INVALID_STATE: Invalid state *//* ... */ esp_err_t esp_cam_ctlr_stop(esp_cam_ctlr_handle_t handle); /** * @brief Disable ESP CAM controller * * @param[in] handle ESP CAM controller handle * * @return * - ESP_OK * - ESP_ERR_INVALID_ARG: Invalid argument * - ESP_ERR_INVALID_STATE: Invalid state *//* ... */ esp_err_t esp_cam_ctlr_disable(esp_cam_ctlr_handle_t handle); /** * @brief Receive data to the given transaction * * @param[in] handle ESP CAM controller handle * @param[in] trans ESP CAM controller transaction type * @param[in] timeout_ms Timeout in ms * * @return * - ESP_OK * - ESP_ERR_INVALID_ARG: Invalid argument * - ESP_ERR_INVALID_STATE: Invalid state *//* ... */ esp_err_t esp_cam_ctlr_receive(esp_cam_ctlr_handle_t handle, esp_cam_ctlr_trans_t *trans, uint32_t timeout_ms); /** * @brief Delete ESP CAM controller handle * * @param[in] handle ESP CAM controller handle * * @return * - ESP_OK * - ESP_ERR_INVALID_ARG: Invalid argument * - ESP_ERR_INVALID_STATE: Invalid state *//* ... */ esp_err_t esp_cam_ctlr_del(esp_cam_ctlr_handle_t handle); /** * @brief Register ESP CAM controller event callbacks * * @param[in] handle ESP CAM controller handle * @param[in] cbs ESP CAM controller event callbacks * @param[in] user_data User data * @return * - ESP_OK * - ESP_ERR_INVALID_ARG: Invalid argument * - ESP_ERR_INVALID_STATE: Invalid state *//* ... */ esp_err_t esp_cam_ctlr_register_event_callbacks(esp_cam_ctlr_handle_t handle, const esp_cam_ctlr_evt_cbs_t *cbs, void *user_data); /** * @brief Get ESP CAM controller internal malloced backup buffer(s) addr * * @note Generally, data in internal buffer is ready when `on_trans_finished` event * * @param[in] handle ESP CAM controller handle * @param[in] fb_num Number of frame buffer(s) to get. This value must be the same as the number of the followed fbN parameters * @param[out] fb0 Address of the frame buffer 0 (first frame buffer) * @param[out] ... List of other frame buffers if any * * @return * - ESP_OK * - ESP_ERR_INVALID_ARG: Invalid argument * - ESP_ERR_INVALID_STATE: Invalid driver state *//* ... */ esp_err_t esp_cam_ctlr_get_frame_buffer(esp_cam_ctlr_handle_t handle, uint32_t fb_num, const void **fb0, ...); /** * @brief Get ESP CAM controller internal backup buffer length * * @param[in] handle ESP CAM controller handle * @param[out] ret_fb_len Optional, The size of each frame buffer, in bytes. * * @return * - ESP_OK * - ESP_ERR_INVALID_ARG: NULL ptr * - ESP_ERR_INVALID_STATE: Invalid driver state *//* ... */ esp_err_t esp_cam_ctlr_get_frame_buffer_len(esp_cam_ctlr_handle_t handle, size_t *ret_fb_len); #ifdef __cplusplus }{...} #endif
Details