Skip to content

Commit

Permalink
Changes & Documentation to enable DIY Camera Builds
Browse files Browse the repository at this point in the history
Code changes to generalise camera support (Including tweaks to the
menuconfig menus)
Generalise the IP5306 PMU as well (Previously was hardcoded to the
M5Fire and Basic devices)
Config profiles for ESP32-CAM, ESP32-Wrover-CAM and T-Camera-Plus
(All based around the "custom" device type)
Add build documentation
  • Loading branch information
3rdIteration authored and JamieDriver committed Sep 11, 2023
1 parent 8c32f50 commit 93eb509
Show file tree
Hide file tree
Showing 33 changed files with 801 additions and 44 deletions.
21 changes: 21 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,27 @@ test_build_display_ttgo_tdisplay:
after_script:
- mv build build_display_ttgo_tdisplay

test_build_diycam_esp32-cam:
extends: .test_build_template
before_script:
- cp configs/sdkconfig_diycam_esp32-cam.defaults sdkconfig.defaults
after_script:
- mv build build_diycam_esp32-cam

test_build_diycam_esp32-wrover-cam:
extends: .test_build_template
before_script:
- cp configs/sdkconfig_diycam_esp32-wrover-cam.defaults sdkconfig.defaults
after_script:
- mv build build_diycam_esp32-wrover-cam

test_build_diycam_tcameraplus:
extends: .test_build_template
before_script:
- cp configs/sdkconfig_diycam_tcameraplus.defaults sdkconfig.defaults
after_script:
- mv build_diycam_tcameraplus

test_build_jade_noblobs_ci:
extends: .test_build_template
before_script:
Expand Down
1 change: 0 additions & 1 deletion configs/sdkconfig_display_m5stickcplus.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_OFFSET=0x9000
CONFIG_DEBUG_MODE=y
CONFIG_BOARD_TYPE_M5_STICKC_PLUS=y
CONFIG_HAS_AXP=y
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y
CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y
Expand Down
147 changes: 147 additions & 0 deletions configs/sdkconfig_diycam_esp32-cam.defaults
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
CONFIG_APP_REPRODUCIBLE_BUILD=y
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
# CONFIG_BOOTLOADER_WDT_ENABLE is not set
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK=y
# CONFIG_APP_COMPILE_TIME_DATE is not set
CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_OFFSET=0x9000
CONFIG_DEBUG_MODE=y
CONFIG_BOARD_TYPE_CUSTOM=y
CONFIG_UI_WRAP_ALL_MENUS=y
CONFIG_INPUT_ONE_BUTTON_MODE=y
CONFIG_BUTTON_B_ACTIVE_HIGH=y
CONFIG_INPUT_WHEEL_A=-1
CONFIG_INPUT_WHEEL_B=-1
CONFIG_INPUT_BTN_A=-1
CONFIG_INPUT_BTN_B=4
CONFIG_INPUT_WHEEL_SW=-1
CONFIG_INPUT_FRONT_SW=-1
CONFIG_HAS_CAMERA=y
# CONFIG_CAMERA_ROTATE_90 is not set
CONFIG_CAMERA_ROTATE_180=y
CONFIG_CAMERA_D0=5
CONFIG_CAMERA_D1=18
CONFIG_CAMERA_D2=19
CONFIG_CAMERA_D3=21
CONFIG_CAMERA_D4=36
CONFIG_CAMERA_D5=39
CONFIG_CAMERA_D6=34
CONFIG_CAMERA_D7=35
CONFIG_CAMERA_XCLK=0
CONFIG_CAMERA_PCLK=22
CONFIG_CAMERA_VSYNC=25
CONFIG_CAMERA_HREF=23
CONFIG_CAMERA_SDA=26
CONFIG_CAMERA_SCL=27
CONFIG_CAMERA_PWDN=32
CONFIG_DISP_DRIVER_ST7789V=y
CONFIG_DISP_INVERT_ROTATION1=1
CONFIG_DISP_INVERT_ROTATION2=0
CONFIG_DISP_ORIENTATION_DEFAULT=1
CONFIG_DISP_PIN_NUM_MISO=-1
CONFIG_DISP_PIN_NUM_MOSI=15
CONFIG_DISP_PIN_NUM_CLK=14
CONFIG_DISP_PIN_NUM_CS=12
CONFIG_DISP_PIN_NUM_DC=2
CONFIG_DISP_PIN_NUM_RST=13
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y
CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
CONFIG_BT_ENABLED=y
CONFIG_BT_NIMBLE_ENABLED=y
CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL=y
CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1
# CONFIG_BT_NIMBLE_ROLE_CENTRAL is not set
# CONFIG_BT_NIMBLE_ROLE_BROADCASTER is not set
# CONFIG_BT_NIMBLE_ROLE_OBSERVER is not set
CONFIG_BT_NIMBLE_NVS_PERSIST=y
# CONFIG_BT_NIMBLE_SM_LEGACY is not set
CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="j"
CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=11
CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=517
CONFIG_BTDM_CTRL_BLE_MAX_CONN=1
# CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED is not set
# CONFIG_ADC_CAL_EFUSE_TP_ENABLE is not set
# CONFIG_ADC_CAL_EFUSE_VREF_ENABLE is not set
# CONFIG_ADC_CAL_LUT_ENABLE is not set
CONFIG_UART_ISR_IN_IRAM=y
CONFIG_EFUSE_VIRTUAL=y
CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE=y
# CONFIG_ESP_ERR_TO_NAME_LOOKUP is not set
# CONFIG_ETH_USE_ESP32_EMAC is not set
# CONFIG_ETH_USE_SPI_ETHERNET is not set
# CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS is not set
# CONFIG_HTTPD_ERR_RESP_NO_DELAY is not set
CONFIG_ESP32_REV_MIN_3=y
CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO=y
CONFIG_SPIRAM=y
# CONFIG_SPIRAM_MEMTEST is not set
CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y
# CONFIG_SPIRAM_BANKSWITCH_ENABLE is not set
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT=y
CONFIG_ESP_MAIN_TASK_STACK_SIZE=12288
CONFIG_ESP_CONSOLE_NONE=y
CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
# CONFIG_ESP_TASK_WDT_INIT is not set
# CONFIG_ESP_DEBUG_OCDAWARE is not set
# CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE is not set
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=2
CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=0
CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=6
# CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED is not set
# CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED is not set
# CONFIG_ESP32_WIFI_NVS_ENABLED is not set
CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=6
# CONFIG_FATFS_PER_FILE_CACHE is not set
# CONFIG_FATFS_ALLOC_PREFER_EXTRAM is not set
CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=3
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2560
# CONFIG_FREERTOS_INTERRUPT_BACKTRACE is not set
# CONFIG_LOG_COLORS is not set
# CONFIG_LWIP_DHCPS is not set
# CONFIG_LWIP_IPV6 is not set
# CONFIG_LWIP_NETIF_LOOPBACK is not set
# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE is not set
# CONFIG_MBEDTLS_HARDWARE_MPI is not set
# CONFIG_MBEDTLS_HAVE_TIME is not set
# CONFIG_MBEDTLS_SSL_RENEGOTIATION is not set
# CONFIG_MBEDTLS_SSL_ALPN is not set
# CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS is not set
# CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS is not set
# CONFIG_MBEDTLS_PEM_PARSE_C is not set
# CONFIG_MBEDTLS_PEM_WRITE_C is not set
# CONFIG_MBEDTLS_X509_CRL_PARSE_C is not set
# CONFIG_MBEDTLS_X509_CSR_PARSE_C is not set
# CONFIG_MQTT_PROTOCOL_311 is not set
# CONFIG_MQTT_TRANSPORT_SSL is not set
CONFIG_NEWLIB_NANO_FORMAT=y
CONFIG_SPI_FLASH_VERIFY_WRITE=y
CONFIG_SPIFFS_MAX_PARTITIONS=1
# CONFIG_SPIFFS_CACHE is not set
# CONFIG_SPIFFS_PAGE_CHECK is not set
CONFIG_SPIFFS_GC_MAX_RUNS=1
# CONFIG_SPIFFS_USE_MAGIC is not set
# CONFIG_SPIFFS_USE_MTIME is not set
# CONFIG_WS_TRANSPORT is not set
# CONFIG_UNITY_ENABLE_FLOAT is not set
# CONFIG_UNITY_ENABLE_DOUBLE is not set
# CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER is not set
# CONFIG_VFS_SUPPORT_IO is not set
# CONFIG_OV7670_SUPPORT is not set
# CONFIG_OV7725_SUPPORT is not set
# CONFIG_NT99141_SUPPORT is not set
# CONFIG_OV3660_SUPPORT is not set
# CONFIG_OV5640_SUPPORT is not set
# CONFIG_GC2145_SUPPORT is not set
# CONFIG_GC032A_SUPPORT is not set
# CONFIG_GC0308_SUPPORT is not set
# CONFIG_BF3005_SUPPORT is not set
# CONFIG_BF20A6_SUPPORT is not set
# CONFIG_SC030IOT_SUPPORT is not set
CONFIG_SCCB_CLK_FREQ=200000
141 changes: 141 additions & 0 deletions configs/sdkconfig_diycam_esp32-wrover-cam.defaults
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
CONFIG_APP_REPRODUCIBLE_BUILD=y
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
# CONFIG_BOOTLOADER_WDT_ENABLE is not set
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK=y
# CONFIG_APP_COMPILE_TIME_DATE is not set
CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_OFFSET=0x9000
CONFIG_DEBUG_MODE=y
CONFIG_BOARD_TYPE_CUSTOM=y
CONFIG_INPUT_WHEEL_A=-1
CONFIG_INPUT_WHEEL_B=-1
CONFIG_INPUT_BTN_A=32
CONFIG_INPUT_BTN_B=33
CONFIG_INPUT_WHEEL_SW=-1
CONFIG_INPUT_FRONT_SW=0
CONFIG_HAS_CAMERA=y
CONFIG_CAMERA_D0=4
CONFIG_CAMERA_D1=5
CONFIG_CAMERA_D2=18
CONFIG_CAMERA_D3=19
CONFIG_CAMERA_D4=36
CONFIG_CAMERA_D5=39
CONFIG_CAMERA_D6=34
CONFIG_CAMERA_D7=35
CONFIG_CAMERA_XCLK=21
CONFIG_CAMERA_PCLK=22
CONFIG_CAMERA_VSYNC=25
CONFIG_CAMERA_HREF=23
CONFIG_CAMERA_SDA=26
CONFIG_CAMERA_SCL=27
CONFIG_DISP_DRIVER_ST7789V=y
CONFIG_DISP_INVERT_ROTATION1=1
CONFIG_DISP_INVERT_ROTATION2=0
CONFIG_DISP_ORIENTATION_DEFAULT=3
CONFIG_DISP_PIN_NUM_MISO=-1
CONFIG_DISP_PIN_NUM_MOSI=12
CONFIG_DISP_PIN_NUM_CLK=2
CONFIG_DISP_PIN_NUM_CS=15
CONFIG_DISP_PIN_NUM_DC=13
CONFIG_DISP_PIN_NUM_RST=14
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y
CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
CONFIG_BT_ENABLED=y
CONFIG_BT_NIMBLE_ENABLED=y
CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL=y
CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1
# CONFIG_BT_NIMBLE_ROLE_CENTRAL is not set
# CONFIG_BT_NIMBLE_ROLE_BROADCASTER is not set
# CONFIG_BT_NIMBLE_ROLE_OBSERVER is not set
CONFIG_BT_NIMBLE_NVS_PERSIST=y
# CONFIG_BT_NIMBLE_SM_LEGACY is not set
CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="j"
CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=11
CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=517
CONFIG_BTDM_CTRL_BLE_MAX_CONN=1
# CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED is not set
# CONFIG_ADC_CAL_EFUSE_TP_ENABLE is not set
# CONFIG_ADC_CAL_EFUSE_VREF_ENABLE is not set
# CONFIG_ADC_CAL_LUT_ENABLE is not set
CONFIG_UART_ISR_IN_IRAM=y
CONFIG_EFUSE_VIRTUAL=y
CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE=y
# CONFIG_ESP_ERR_TO_NAME_LOOKUP is not set
# CONFIG_ETH_USE_ESP32_EMAC is not set
# CONFIG_ETH_USE_SPI_ETHERNET is not set
# CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS is not set
# CONFIG_HTTPD_ERR_RESP_NO_DELAY is not set
CONFIG_ESP32_REV_MIN_3=y
CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO=y
CONFIG_SPIRAM=y
# CONFIG_SPIRAM_MEMTEST is not set
CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y
# CONFIG_SPIRAM_BANKSWITCH_ENABLE is not set
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT=y
CONFIG_ESP_MAIN_TASK_STACK_SIZE=12288
CONFIG_ESP_CONSOLE_NONE=y
CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
# CONFIG_ESP_TASK_WDT_INIT is not set
# CONFIG_ESP_DEBUG_OCDAWARE is not set
# CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE is not set
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=2
CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=0
CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=6
# CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED is not set
# CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED is not set
# CONFIG_ESP32_WIFI_NVS_ENABLED is not set
CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=6
# CONFIG_FATFS_PER_FILE_CACHE is not set
# CONFIG_FATFS_ALLOC_PREFER_EXTRAM is not set
CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=3
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2560
# CONFIG_FREERTOS_INTERRUPT_BACKTRACE is not set
# CONFIG_LOG_COLORS is not set
# CONFIG_LWIP_DHCPS is not set
# CONFIG_LWIP_IPV6 is not set
# CONFIG_LWIP_NETIF_LOOPBACK is not set
# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set
# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE is not set
# CONFIG_MBEDTLS_HARDWARE_MPI is not set
# CONFIG_MBEDTLS_HAVE_TIME is not set
# CONFIG_MBEDTLS_SSL_RENEGOTIATION is not set
# CONFIG_MBEDTLS_SSL_ALPN is not set
# CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS is not set
# CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS is not set
# CONFIG_MBEDTLS_PEM_PARSE_C is not set
# CONFIG_MBEDTLS_PEM_WRITE_C is not set
# CONFIG_MBEDTLS_X509_CRL_PARSE_C is not set
# CONFIG_MBEDTLS_X509_CSR_PARSE_C is not set
# CONFIG_MQTT_PROTOCOL_311 is not set
# CONFIG_MQTT_TRANSPORT_SSL is not set
CONFIG_NEWLIB_NANO_FORMAT=y
CONFIG_SPI_FLASH_VERIFY_WRITE=y
CONFIG_SPIFFS_MAX_PARTITIONS=1
# CONFIG_SPIFFS_CACHE is not set
# CONFIG_SPIFFS_PAGE_CHECK is not set
CONFIG_SPIFFS_GC_MAX_RUNS=1
# CONFIG_SPIFFS_USE_MAGIC is not set
# CONFIG_SPIFFS_USE_MTIME is not set
# CONFIG_WS_TRANSPORT is not set
# CONFIG_UNITY_ENABLE_FLOAT is not set
# CONFIG_UNITY_ENABLE_DOUBLE is not set
# CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER is not set
# CONFIG_VFS_SUPPORT_IO is not set
# CONFIG_OV7670_SUPPORT is not set
# CONFIG_OV7725_SUPPORT is not set
# CONFIG_NT99141_SUPPORT is not set
# CONFIG_OV3660_SUPPORT is not set
# CONFIG_OV5640_SUPPORT is not set
# CONFIG_GC2145_SUPPORT is not set
# CONFIG_GC032A_SUPPORT is not set
# CONFIG_GC0308_SUPPORT is not set
# CONFIG_BF3005_SUPPORT is not set
# CONFIG_BF20A6_SUPPORT is not set
# CONFIG_SC030IOT_SUPPORT is not set
CONFIG_SCCB_CLK_FREQ=200000
Loading

0 comments on commit 93eb509

Please sign in to comment.