Skip to content

Commit 061c2a6

Browse files
committed
add explicit convertion of enums
1 parent c979972 commit 061c2a6

File tree

3 files changed

+66
-93
lines changed

3 files changed

+66
-93
lines changed

.github/workflows/Create-Release.yml

Lines changed: 0 additions & 37 deletions
This file was deleted.

src/micropython.cmake

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,45 @@
1-
# `py.cmake` for `micropy_gather_target_properties` macro usage
1+
# Include the py.cmake for additional macro micropy_gather_target_properties usage
22
include(${MICROPY_DIR}/py/py.cmake)
33

4+
# Create an INTERFACE library for the camera module and sdd source files to the library
45
add_library(usermod_mp_camera INTERFACE)
5-
66
target_sources(usermod_mp_camera INTERFACE
77
${CMAKE_CURRENT_LIST_DIR}/modcamera.c
88
${CMAKE_CURRENT_LIST_DIR}/modcamera_api.c
99
)
1010

11-
if(EXISTS "${IDF_PATH}/components/esp32-camera")
12-
target_include_directories(usermod_mp_camera INTERFACE
13-
${CMAKE_CURRENT_LIST_DIR}
14-
${IDF_PATH}/components/esp32-camera/driver/include
15-
${IDF_PATH}/components/esp32-camera/driver/private_include
16-
${IDF_PATH}/components/esp32-camera/conversions/include
17-
${IDF_PATH}/components/esp32-camera/conversions/private_include
18-
${IDF_PATH}/components/esp32-camera/sensors/private_include
19-
)
20-
else()
21-
target_include_directories(usermod_mp_camera INTERFACE
22-
${CMAKE_CURRENT_LIST_DIR})
11+
# Dynamically gather include directories for the esp32-camera component
12+
idf_component_get_property(CAMERA_INCLUDES esp32-camera INCLUDE_DIRS)
13+
idf_component_get_property(CAMERA_PRIV_INCLUDES esp32-camera PRIV_INCLUDE_DIRS)
14+
idf_component_get_property(CAMERA_DIR esp32-camera COMPONENT_DIR)
15+
16+
# Create a list for include directories
17+
set(MOD_INCLUDES ${CMAKE_CURRENT_LIST_DIR})
18+
19+
# Add dynamically discovered include paths
20+
if (CAMERA_INCLUDES)
21+
list(TRANSFORM CAMERA_INCLUDES PREPEND ${CAMERA_DIR}/)
22+
list(APPEND MOD_INCLUDES ${CAMERA_INCLUDES})
2323
endif()
24+
if (CAMERA_PRIV_INCLUDES)
25+
list(TRANSFORM CAMERA_PRIV_INCLUDES PREPEND ${CAMERA_DIR}/)
26+
list(APPEND MOD_INCLUDES ${CAMERA_PRIV_INCLUDES})
27+
endif()
28+
29+
# Add the include directories to the target
30+
target_include_directories(usermod_mp_camera INTERFACE ${MOD_INCLUDES})
2431

32+
# Add compile definitions if MICROPY_CAMERA_MODEL is defined
2533
if (MICROPY_CAMERA_MODEL)
2634
target_compile_definitions(usermod_mp_camera INTERFACE MICROPY_CAMERA_MODEL_${MICROPY_CAMERA_MODEL}=1)
2735
endif()
2836

37+
# Add compile definitions if MP_CAMERA_DRIVER_VERSION is defined
2938
if (MP_CAMERA_DRIVER_VERSION)
3039
target_compile_definitions(usermod_mp_camera INTERFACE MP_CAMERA_DRIVER_VERSION=\"${MP_CAMERA_DRIVER_VERSION}\")
3140
endif()
3241

42+
# Link the usermod_mp_camera library to the main usermod target
3343
target_link_libraries(usermod INTERFACE usermod_mp_camera)
3444

3545
micropy_gather_target_properties(usermod_mp_camera)

src/modcamera.c

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -316,57 +316,57 @@ bool mp_camera_hal_initialized(mp_camera_obj_t *self){
316316
}
317317

318318
const mp_rom_map_elem_t mp_camera_hal_pixel_format_table[] = {
319-
{ MP_ROM_QSTR(MP_QSTR_JPEG), MP_ROM_INT(PIXFORMAT_JPEG) },
320-
{ MP_ROM_QSTR(MP_QSTR_YUV422), MP_ROM_INT(PIXFORMAT_YUV422) },
321-
{ MP_ROM_QSTR(MP_QSTR_YUV420), MP_ROM_INT(PIXFORMAT_YUV420) },
322-
{ MP_ROM_QSTR(MP_QSTR_GRAYSCALE), MP_ROM_INT(PIXFORMAT_GRAYSCALE) },
323-
{ MP_ROM_QSTR(MP_QSTR_RGB565), MP_ROM_INT(PIXFORMAT_RGB565) },
324-
{ MP_ROM_QSTR(MP_QSTR_RGB888), MP_ROM_INT(PIXFORMAT_RGB888) },
325-
{ MP_ROM_QSTR(MP_QSTR_RAW), MP_ROM_INT(PIXFORMAT_RAW) },
326-
{ MP_ROM_QSTR(MP_QSTR_RGB444), MP_ROM_INT(PIXFORMAT_RGB444) },
327-
{ MP_ROM_QSTR(MP_QSTR_RGB555), MP_ROM_INT(PIXFORMAT_RGB555) },
319+
{ MP_ROM_QSTR(MP_QSTR_JPEG), MP_ROM_INT((mp_uint_t)PIXFORMAT_JPEG) },
320+
{ MP_ROM_QSTR(MP_QSTR_YUV422), MP_ROM_INT((mp_uint_t)PIXFORMAT_YUV422) },
321+
{ MP_ROM_QSTR(MP_QSTR_YUV420), MP_ROM_INT((mp_uint_t)PIXFORMAT_YUV420) },
322+
{ MP_ROM_QSTR(MP_QSTR_GRAYSCALE), MP_ROM_INT((mp_uint_t)PIXFORMAT_GRAYSCALE) },
323+
{ MP_ROM_QSTR(MP_QSTR_RGB565), MP_ROM_INT((mp_uint_t)PIXFORMAT_RGB565) },
324+
{ MP_ROM_QSTR(MP_QSTR_RGB888), MP_ROM_INT((mp_uint_t)PIXFORMAT_RGB888) },
325+
{ MP_ROM_QSTR(MP_QSTR_RAW), MP_ROM_INT((mp_uint_t)PIXFORMAT_RAW) },
326+
{ MP_ROM_QSTR(MP_QSTR_RGB444), MP_ROM_INT((mp_uint_t)PIXFORMAT_RGB444) },
327+
{ MP_ROM_QSTR(MP_QSTR_RGB555), MP_ROM_INT((mp_uint_t)PIXFORMAT_RGB555) },
328328
};
329329

330330
const mp_rom_map_elem_t mp_camera_hal_frame_size_table[] = {
331-
{ MP_ROM_QSTR(MP_QSTR_R96X96), MP_ROM_INT(FRAMESIZE_96X96) },
332-
{ MP_ROM_QSTR(MP_QSTR_QQVGA), MP_ROM_INT(FRAMESIZE_QQVGA) },
333-
{ MP_ROM_QSTR(MP_QSTR_R128x128), MP_ROM_INT(FRAMESIZE_128X128) },
334-
{ MP_ROM_QSTR(MP_QSTR_QCIF), MP_ROM_INT(FRAMESIZE_QCIF) },
335-
{ MP_ROM_QSTR(MP_QSTR_HQVGA), MP_ROM_INT(FRAMESIZE_HQVGA) },
336-
{ MP_ROM_QSTR(MP_QSTR_R240X240), MP_ROM_INT(FRAMESIZE_240X240) },
337-
{ MP_ROM_QSTR(MP_QSTR_QVGA), MP_ROM_INT(FRAMESIZE_QVGA) },
338-
{ MP_ROM_QSTR(MP_QSTR_R320X320), MP_ROM_INT(FRAMESIZE_320X320) },
339-
{ MP_ROM_QSTR(MP_QSTR_CIF), MP_ROM_INT(FRAMESIZE_CIF) },
340-
{ MP_ROM_QSTR(MP_QSTR_HVGA), MP_ROM_INT(FRAMESIZE_HVGA) },
341-
{ MP_ROM_QSTR(MP_QSTR_VGA), MP_ROM_INT(FRAMESIZE_VGA) },
342-
{ MP_ROM_QSTR(MP_QSTR_SVGA), MP_ROM_INT(FRAMESIZE_SVGA) },
343-
{ MP_ROM_QSTR(MP_QSTR_XGA), MP_ROM_INT(FRAMESIZE_XGA) },
344-
{ MP_ROM_QSTR(MP_QSTR_HD), MP_ROM_INT(FRAMESIZE_HD) },
345-
{ MP_ROM_QSTR(MP_QSTR_SXGA), MP_ROM_INT(FRAMESIZE_SXGA) },
346-
{ MP_ROM_QSTR(MP_QSTR_UXGA), MP_ROM_INT(FRAMESIZE_UXGA) },
347-
{ MP_ROM_QSTR(MP_QSTR_FHD), MP_ROM_INT(FRAMESIZE_FHD) },
348-
{ MP_ROM_QSTR(MP_QSTR_P_HD), MP_ROM_INT(FRAMESIZE_P_HD) },
349-
{ MP_ROM_QSTR(MP_QSTR_P_3MP), MP_ROM_INT(FRAMESIZE_P_3MP) },
350-
{ MP_ROM_QSTR(MP_QSTR_QXGA), MP_ROM_INT(FRAMESIZE_QXGA) },
351-
{ MP_ROM_QSTR(MP_QSTR_QHD), MP_ROM_INT(FRAMESIZE_QHD) },
352-
{ MP_ROM_QSTR(MP_QSTR_WQXGA), MP_ROM_INT(FRAMESIZE_WQXGA) },
353-
{ MP_ROM_QSTR(MP_QSTR_P_FHD), MP_ROM_INT(FRAMESIZE_P_FHD) },
354-
{ MP_ROM_QSTR(MP_QSTR_QSXGA), MP_ROM_INT(FRAMESIZE_QSXGA) },
331+
{ MP_ROM_QSTR(MP_QSTR_R96X96), MP_ROM_INT((mp_uint_t)FRAMESIZE_96X96) },
332+
{ MP_ROM_QSTR(MP_QSTR_QQVGA), MP_ROM_INT((mp_uint_t)FRAMESIZE_QQVGA) },
333+
{ MP_ROM_QSTR(MP_QSTR_R128x128), MP_ROM_INT((mp_uint_t)FRAMESIZE_128X128) },
334+
{ MP_ROM_QSTR(MP_QSTR_QCIF), MP_ROM_INT((mp_uint_t)FRAMESIZE_QCIF) },
335+
{ MP_ROM_QSTR(MP_QSTR_HQVGA), MP_ROM_INT((mp_uint_t)FRAMESIZE_HQVGA) },
336+
{ MP_ROM_QSTR(MP_QSTR_R240X240), MP_ROM_INT((mp_uint_t)FRAMESIZE_240X240) },
337+
{ MP_ROM_QSTR(MP_QSTR_QVGA), MP_ROM_INT((mp_uint_t)FRAMESIZE_QVGA) },
338+
{ MP_ROM_QSTR(MP_QSTR_R320X320), MP_ROM_INT((mp_uint_t)FRAMESIZE_320X320) },
339+
{ MP_ROM_QSTR(MP_QSTR_CIF), MP_ROM_INT((mp_uint_t)FRAMESIZE_CIF) },
340+
{ MP_ROM_QSTR(MP_QSTR_HVGA), MP_ROM_INT((mp_uint_t)FRAMESIZE_HVGA) },
341+
{ MP_ROM_QSTR(MP_QSTR_VGA), MP_ROM_INT((mp_uint_t)FRAMESIZE_VGA) },
342+
{ MP_ROM_QSTR(MP_QSTR_SVGA), MP_ROM_INT((mp_uint_t)FRAMESIZE_SVGA) },
343+
{ MP_ROM_QSTR(MP_QSTR_XGA), MP_ROM_INT((mp_uint_t)FRAMESIZE_XGA) },
344+
{ MP_ROM_QSTR(MP_QSTR_HD), MP_ROM_INT((mp_uint_t)FRAMESIZE_HD) },
345+
{ MP_ROM_QSTR(MP_QSTR_SXGA), MP_ROM_INT((mp_uint_t)FRAMESIZE_SXGA) },
346+
{ MP_ROM_QSTR(MP_QSTR_UXGA), MP_ROM_INT((mp_uint_t)FRAMESIZE_UXGA) },
347+
{ MP_ROM_QSTR(MP_QSTR_FHD), MP_ROM_INT((mp_uint_t)FRAMESIZE_FHD) },
348+
{ MP_ROM_QSTR(MP_QSTR_P_HD), MP_ROM_INT((mp_uint_t)FRAMESIZE_P_HD) },
349+
{ MP_ROM_QSTR(MP_QSTR_P_3MP), MP_ROM_INT((mp_uint_t)FRAMESIZE_P_3MP) },
350+
{ MP_ROM_QSTR(MP_QSTR_QXGA), MP_ROM_INT((mp_uint_t)FRAMESIZE_QXGA) },
351+
{ MP_ROM_QSTR(MP_QSTR_QHD), MP_ROM_INT((mp_uint_t)FRAMESIZE_QHD) },
352+
{ MP_ROM_QSTR(MP_QSTR_WQXGA), MP_ROM_INT((mp_uint_t)FRAMESIZE_WQXGA) },
353+
{ MP_ROM_QSTR(MP_QSTR_P_FHD), MP_ROM_INT((mp_uint_t)FRAMESIZE_P_FHD) },
354+
{ MP_ROM_QSTR(MP_QSTR_QSXGA), MP_ROM_INT((mp_uint_t)FRAMESIZE_QSXGA) },
355355
};
356356

357357
const mp_rom_map_elem_t mp_camera_hal_grab_mode_table[] = {
358-
{ MP_ROM_QSTR(MP_QSTR_WHEN_EMPTY), MP_ROM_INT(CAMERA_GRAB_WHEN_EMPTY) },
359-
{ MP_ROM_QSTR(MP_QSTR_LATEST), MP_ROM_INT(CAMERA_GRAB_LATEST) },
358+
{ MP_ROM_QSTR(MP_QSTR_WHEN_EMPTY), MP_ROM_INT((mp_uint_t)CAMERA_GRAB_WHEN_EMPTY) },
359+
{ MP_ROM_QSTR(MP_QSTR_LATEST), MP_ROM_INT((mp_uint_t)CAMERA_GRAB_LATEST) },
360360
};
361361

362362
const mp_rom_map_elem_t mp_camera_hal_gainceiling_table[] = {
363-
{ MP_ROM_QSTR(MP_QSTR_2X), MP_ROM_INT(GAINCEILING_2X) },
364-
{ MP_ROM_QSTR(MP_QSTR_4X), MP_ROM_INT(GAINCEILING_4X) },
365-
{ MP_ROM_QSTR(MP_QSTR_8X), MP_ROM_INT(GAINCEILING_8X) },
366-
{ MP_ROM_QSTR(MP_QSTR_16X), MP_ROM_INT(GAINCEILING_16X) },
367-
{ MP_ROM_QSTR(MP_QSTR_32X), MP_ROM_INT(GAINCEILING_32X) },
368-
{ MP_ROM_QSTR(MP_QSTR_64X), MP_ROM_INT(GAINCEILING_64X) },
369-
{ MP_ROM_QSTR(MP_QSTR_128X), MP_ROM_INT(GAINCEILING_128X) },
363+
{ MP_ROM_QSTR(MP_QSTR_2X), MP_ROM_INT((mp_uint_t)GAINCEILING_2X) },
364+
{ MP_ROM_QSTR(MP_QSTR_4X), MP_ROM_INT((mp_uint_t)GAINCEILING_4X) },
365+
{ MP_ROM_QSTR(MP_QSTR_8X), MP_ROM_INT((mp_uint_t)GAINCEILING_8X) },
366+
{ MP_ROM_QSTR(MP_QSTR_16X), MP_ROM_INT((mp_uint_t)GAINCEILING_16X) },
367+
{ MP_ROM_QSTR(MP_QSTR_32X), MP_ROM_INT((mp_uint_t)GAINCEILING_32X) },
368+
{ MP_ROM_QSTR(MP_QSTR_64X), MP_ROM_INT((mp_uint_t)GAINCEILING_64X) },
369+
{ MP_ROM_QSTR(MP_QSTR_128X), MP_ROM_INT((mp_uint_t)GAINCEILING_128X) },
370370
};
371371

372372
// Helper functions to get and set camera and sensor information

0 commit comments

Comments
 (0)