Select one of the symbols to view example projects that use it.
 
Outline
#include <stdbool.h>
#include "esp_err.h"
#include "esp_cam_ctlr_types.h"
esp_cam_ctlr_t
esp_cam_ctlr_t
Files
loading (2/5)...
SourceVuESP-IDF Framework and ExamplesESP-IDFcomponents/esp_driver_cam/interface/esp_cam_ctlr_interface.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
138
139
140
141
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/* * SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 *//* ... */ #pragma once #include <stdbool.h> #include "esp_err.h" #include "esp_cam_ctlr_types.h" #ifdef __cplusplus extern "C" { #endif typedef struct esp_cam_ctlr_t esp_cam_ctlr_t; /*!< Type of CAM controller */ /** * @brief Cam controller interface *//* ... */ struct esp_cam_ctlr_t { /** * @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 (*enable)(esp_cam_ctlr_t *ctlr); /** * @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 (*start)(esp_cam_ctlr_t *ctlr); /** * @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 (*stop)(esp_cam_ctlr_t *ctlr); /** * @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 (*disable)(esp_cam_ctlr_t *ctlr); /** * @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 (*receive)(esp_cam_ctlr_t *ctlr, 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 (*del)(esp_cam_ctlr_t *ctlr); /** * @brief Register ESP CAM controller event callbacks * * @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 (*register_event_callbacks)(esp_cam_ctlr_t *ctlr, const esp_cam_ctlr_evt_cbs_t *cbs, void *user_ctx); /** * @brief Get ESP CAM controller internal malloced backup buffer(s) addr * * @param[in] esp_cam_ctlr_t * ESP CAM controller handle * @param[in] uint32_t Number of frame buffer(s) to get. This value must be the same as the number of the followed fbN parameters * @param[out] const void ** 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 (*get_internal_buffer)(esp_cam_ctlr_t *, uint32_t, const void **, ...); /** * @brief Get ESP CAM controller internal backup buffer length * * @param[in] esp_cam_ctlr_t * ESP CAM controller handle * @param[out] size_t * 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 (*get_buffer_len)(esp_cam_ctlr_t *, size_t *); void *user_data; ///< User data }{ ... }; #ifdef __cplusplus }{...} #endif
Details