Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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: 1 addition & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,10 @@ jobs:
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
submodules: 'recursive'

- 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: 25 additions & 6 deletions .github/workflows/package_main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,43 +5,62 @@ 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'

- 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/[email protected]
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 = [email protected]:esp-cpp/espp
[submodule "components/esp32-camera"]
path = components/esp32-camera
url = [email protected]:espressif/esp32-camera
[submodule "components/esp-protocols"]
path = components/esp-protocols
url = [email protected]:espressif/esp-protocols
url = [email protected]: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
Loading