Skip to content

chore: Update dependencies and remove submodules #10

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
May 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
- name: Checkout repo
uses: actions/checkout@v4
with:
submodules: 'recursive'
submodules: true

- name: Build Main
uses: espressif/esp-idf-ci-action@v1
with:
esp_idf_version: v5.2.2
esp_idf_version: release-v5.4
target: esp32
path: '.'
31 changes: 26 additions & 5 deletions .github/workflows/package_main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,43 +5,64 @@ on:
branches: [main]
release:
types: [published]
workflow_dispatch:

jobs:
build:

runs-on: ubuntu-latest
continue-on-error: false

outputs:
zipfile-id: ${{ steps.zip_step.outputs.artifact-id }}

steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
submodules: 'recursive'
submodules: true

- name: Build Main Code
uses: espressif/esp-idf-ci-action@v1
with:
esp_idf_version: v5.2.2
esp_idf_version: release-v5.4
target: esp32
path: '.'

- name: Upload Build Outputs
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
id: zip_step
with:
name: build-artifacts
path: |
build/*.bin
build/*.elf
build/bootloader/bootloader.bin
build/partition_table/partition-table.bin
build/*.bin
build/flasher_args.json
build/flash_args

- name: Attach files to release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
if: ${{ github.event.release && github.event.action == 'published' }}
with:
files: |
build/*.bin
build/*.elf
build/bootloader/bootloader.bin
build/partition_table/partition-table.bin
build/flasher_args.json
build/flash_args

package:
name: Package the binaries into an executables for Windows, MacOS, and Linux (Ubuntu)
needs: build
strategy:
matrix:
os: [windows-latest, macos-latest, ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: esp-cpp/esp-packaged-programmer-action@v1.0.5
with:
zipfile-id: ${{ needs.build.outputs.zipfile-id }}
programmer-name: 'camera-streamer_programmer'
8 changes: 3 additions & 5 deletions .github/workflows/static_analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,15 @@ jobs:
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
submodules: 'recursive'

- name: Run static analysis
uses: esp-cpp/StaticAnalysis@master
with:
# Do not build the project and do not use cmake to generate compile_commands.json
use_cmake: false

# Use the 5.2 release version since it's what we build with
esp_idf_version: release/v5.2
# Use the 5.4 release version since it's what we build with
esp_idf_version: release/v5.4

# (Optional) cppcheck args
cppcheck_args: -i$GITHUB_WORKSPACE/components/espp -i$GITHUB_WORKSPACE/components/esp32-camera -i$GITHUB_WORKSPACE/components/esp-protocols --force --enable=all --inline-suppr --inconclusive --platform=mips32 --std=c++17 --suppressions-list=$GITHUB_WORKSPACE/suppressions.txt
cppcheck_args: --force --enable=all --inline-suppr --inconclusive --platform=mips32 --std=c++17 --suppressions-list=$GITHUB_WORKSPACE/suppressions.txt
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,4 @@ sdkconfig
sdkconfig.old
.DS_Store
dependencies.lock
managed_components/
8 changes: 1 addition & 7 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
[submodule "components/espp"]
path = components/espp
url = git@github.com:esp-cpp/espp
[submodule "components/esp32-camera"]
path = components/esp32-camera
url = git@github.com:espressif/esp32-camera
[submodule "components/esp-protocols"]
path = components/esp-protocols
url = git@github.com:espressif/esp-protocols
url = git@github.com:esp-cpp/esp32-camera
4 changes: 1 addition & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
# The following lines of boilerplate have to be in your project's CMakeLists
# in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.20)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

# add the component directories that we want to use
set(EXTRA_COMPONENT_DIRS
"components/espp/components"
"components/esp-protocols/components/mdns"
)

add_compile_definitions(BOARD_HAS_PSRAM)
Expand Down
1 change: 0 additions & 1 deletion components/esp-protocols
Submodule esp-protocols deleted from 5964ea
1 change: 0 additions & 1 deletion components/espp
Submodule espp deleted from 8e84d3
17 changes: 17 additions & 0 deletions main/idf_component.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## IDF Component Manager Manifest File
dependencies:
## Required IDF version
idf:
version: '>=5.0'
espressif/mdns: '>=1.8'
# NOTE: we cannot use the idf component because for anything ESP-IDF >= 5.4 it
# automatically uses the new I2C driver, which espp doesn't support yet.
#
# espressif/esp32-camera: '>=2.0'
espp/rtsp: '>=1.0'
espp/wifi: '>=1.0'
espp/monitor: '>=1.0'
espp/socket: '>=1.0'
espp/nvs: '>=1.0'
espp/task: '>=1.0'
espp/esp32-timer-cam: '>=1.0'
2 changes: 1 addition & 1 deletion main/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ extern "C" void app_main(void) {

// initialize the camera
logger.info("Creating camera task");
auto camera_task_fn = [&rtsp_server, &logger](auto &m, auto &cv) -> bool {
auto camera_task_fn = [&rtsp_server, &logger](const auto &m, const auto &cv) -> bool {
// take image
static camera_fb_t *fb = NULL;
static size_t _jpg_buf_len;
Expand Down
4 changes: 3 additions & 1 deletion sdkconfig.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ CONFIG_ESP_MAIN_TASK_STACK_SIZE=32768
# SPIRAM Configuration
CONFIG_SPIRAM=y
CONFIG_SPIRAM_USE_MALLOC=y
CONFIG_SPIRAM_MODE_OCT=y
CONFIG_SPIRAM_SPEED_80M=y
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y

Expand All @@ -31,3 +30,6 @@ CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
#
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240

# ESP32-Camera specific
CONFIG_SCCB_HARDWARE_I2C_DRIVER_LEGACY=y