Skip to content
Closed

1 #30

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
53dd36a
Title: Add GitHub Actions workflow for ESP32-P4 firmware compilation
qwen-intl May 27, 2026
1f83bcf
Merge pull request #1 from ProjectMurzik/проект-xiaoclaw-на-esp-e1631
ProjectMurzik May 27, 2026
1f8d406
Create ESP32-P4 Build.yml
ProjectMurzik May 27, 2026
bb69d83
update branch
qwen-intl May 27, 2026
d610f7e
Merge pull request #3 from ProjectMurzik/проект-xiaoclaw-на-esp-e1631
ProjectMurzik May 27, 2026
679e26d
Update ESP32-P4 Build.yml
ProjectMurzik May 27, 2026
50edfaa
Update ESP32-P4 Build.yml
ProjectMurzik May 27, 2026
8809ac4
Update idf_component.yml
ProjectMurzik May 27, 2026
baf7807
update branch
qwen-intl May 27, 2026
eb8c4d6
Merge pull request #4 from ProjectMurzik/проект-xiaoclaw-на-esp-e1631
ProjectMurzik May 27, 2026
3c5f49b
update branch
qwen-intl May 27, 2026
38405b3
Merge pull request #5 from ProjectMurzik/проект-xiaoclaw-на-esp-e1631
ProjectMurzik May 27, 2026
9e41401
update branch
qwen-intl May 27, 2026
95d0c33
Merge pull request #6 from ProjectMurzik/проект-xiaoclaw-на-esp-e1631
ProjectMurzik May 27, 2026
2bd08fc
Update idf_component.yml
ProjectMurzik May 27, 2026
787cf43
Update idf_component.yml
ProjectMurzik May 27, 2026
9b8d64a
Update idf_component.yml
ProjectMurzik May 27, 2026
b2ff8f1
Fix: Clean component manager cache and update workflows for IDF v5.3.2
qwen-intl May 27, 2026
c771ec2
Merge pull request #7 from ProjectMurzik/dependency_solver_error-9d9de
ProjectMurzik May 27, 2026
7695543
update branch
qwen-intl May 27, 2026
ae6c60f
Merge pull request #8 from ProjectMurzik/dependency_solver_error-9d9de
ProjectMurzik May 27, 2026
6850bf2
fix: disable skip_checks and ignore_warnings in idf_component.yml to …
qwen-intl May 27, 2026
af42539
Update idf_component.yml
ProjectMurzik May 27, 2026
35c2b7b
update branch
qwen-intl May 27, 2026
b5e31f9
Merge pull request #9 from ProjectMurzik/dependency_solver_error-9d9de
ProjectMurzik May 27, 2026
b0eef45
Fix component manager error by correcting dependency name and updatin…
qwen-intl May 27, 2026
fda5b54
Merge pull request #10 from ProjectMurzik/ошибка-в-решении-зависимост…
ProjectMurzik May 27, 2026
bc6c443
fix: Исправлена ошибка Cannot merge different components и обновлены …
qwen-intl May 27, 2026
93d6850
Update component registration and git ignore rules
qwen-intl May 27, 2026
45c3744
Merge pull request #11 from ProjectMurzik/valueerror-in-idf-component…
ProjectMurzik May 27, 2026
34aa40f
update branch
qwen-intl May 27, 2026
f00a6b3
Merge pull request #12 from ProjectMurzik/valueerror-in-idf-component…
ProjectMurzik May 27, 2026
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
92 changes: 92 additions & 0 deletions .github/workflows/ESP32-P4 Build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: ESP32-P4 Build

on:
push:
branches:
- main
- master
pull_request:
branches:
- main
- master
release:
types: [created]
workflow_dispatch:
inputs:
log_level:
description: 'Уровень логирования'
required: false
default: 'info'
type: choice
options:
- info
- debug
- warn

jobs:
build:
runs-on: ubuntu-latest
container: espressif/idf:v5.3.2

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

steps:
- name: Checkout code
uses: actions/checkout@v5
with:
submodules: 'recursive'

- name: Clean component manager cache
run: |
rm -rf ~/.espressif/idf_component_manager
rm -rf managed_components
rm -f component_manager.lock
rm -rf build
mkdir -p ~/.espressif/idf_component_manager

- name: Disable component manager cache
run: |
echo "IDF_COMPONENTS_CACHE_DISABLE=1" >> $GITHUB_ENV

- name: Install dependencies (if needed)
run: |
# В официальном контейнере большинство зависимостей уже есть
apt-get update && apt-get install -y git wget flex bison gperf cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 python3-pip python3-setuptools || true

- name: Set Target to ESP32-P4
run: |
. /opt/esp/idf/export.sh
idf.py set-target esp32p4
shell: bash

- name: Build Project
run: |
. /opt/esp/idf/export.sh
idf.py build
shell: bash

- name: Upload Binaries
uses: actions/upload-artifact@v4
with:
name: xiaoclaw-esp32p4-firmware
path: |
build/*.bin
build/bootloader/*.bin
build/partition_table/*.bin
retention-days: 30

- name: Create Release Assets (if tagged)
if: github.event_name == 'release'
run: |
. /opt/esp/idf/export.sh
zip -j xiaoclaw-esp32p4-${{ github.ref_name }}.zip build/*.bin build/bootloader/*.bin build/partition_table/*.bin
shell: bash

- name: Upload Release Assets
if: github.event_name == 'release'
uses: softprops/action-gh-release@v2
with:
files: xiaoclaw-esp32p4-${{ github.ref_name }}.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14 changes: 13 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,23 @@ jobs:
include: ${{ fromJson(needs.prepare.outputs.variants) }}
runs-on: ubuntu-latest
container:
image: espressif/idf:v5.5.2
image: espressif/idf:v5.3.2
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Clean component manager cache
run: |
rm -rf ~/.espressif/idf_component_manager
rm -rf managed_components
rm -f component_manager.lock
rm -rf build
mkdir -p ~/.espressif/idf_component_manager

- name: Disable component manager cache
run: |
echo "IDF_COMPONENTS_CACHE_DISABLE=1" >> $GITHUB_ENV

- name: Build current variant
shell: bash
run: |
Expand Down
67 changes: 47 additions & 20 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,23 +1,50 @@
tmp/
components/
managed_components/
```
# Build artifacts
*.o
*.obj
*.a
*.lib
*.so
*.dll
*.dylib
*.exe
*.out

# CMake build directories
build/
dist/
.vscode/
.devcontainer/
sdkconfig.old
sdkconfig
dependencies.lock
cmake-build-*/
CMakeFiles/
CMakeCache.txt
cmake_install.manifest
compile_commands.json

# Dependencies
node_modules/
vendor/

# Logs and temp files
*.log
*.tmp
*.swp
*.swo

# Environment
.env
releases/
main/assets/lang_config.h
main/mmap_generate_emoji.h
.env.local
*.env.*

# Editors
.vscode/
.idea/
*.swp
*.swo

# Coverage reports
coverage/
htmlcov/
.coverage

# OS specific
.DS_Store
.cache
*.pyc
*.bin
mmap_generate_*.h
.clangd
debug/
examples/
sdkconfig
Thumbs.db
```
3 changes: 0 additions & 3 deletions main/boards/waveshare/esp32-p4-wifi6-touch-lcd/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,13 @@
#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_26
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT true
#define LCD_MIPI_DSI_LANE_BITRATE_MBPS (480)
<<<<<<< HEAD
=======
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4_3
#define DISPLAY_WIDTH (480)
#define DISPLAY_HEIGHT (800)
#define PIN_NUM_LCD_RST GPIO_NUM_27
#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_26
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT true
#define LCD_MIPI_DSI_LANE_BITRATE_MBPS (500)
>>>>>>> upstream/main
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B
#define DISPLAY_WIDTH (1024)
#define DISPLAY_HEIGHT (600)
Expand Down
5 changes: 1 addition & 4 deletions main/boards/waveshare/esp32-p4-wifi6-touch-lcd/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
]
},
{
<<<<<<< HEAD
=======
"name": "esp32-p4-wifi6-touch-lcd-4.3",
"sdkconfig_append": [
"CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0",
Expand All @@ -33,7 +31,6 @@
]
},
{
>>>>>>> upstream/main
"name": "esp32-p4-wifi6-touch-lcd-7b",
"sdkconfig_append": [
"CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0",
Expand Down Expand Up @@ -118,4 +115,4 @@
]
}
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,8 @@

#if CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4B
#include "esp_lcd_st7703.h"
<<<<<<< HEAD
=======
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4_3
#include "esp_lcd_st7701.h"
>>>>>>> upstream/main
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B
#include "esp_lcd_ek79007.h"
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_3_4C || CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4C \
Expand Down Expand Up @@ -141,8 +138,6 @@ class WaveshareEsp32p4 : public WifiBoard {
.vendor_config = &vendor_config,
};
esp_lcd_new_panel_st7703(io, &lcd_dev_config, &disp_panel);
<<<<<<< HEAD
=======
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4_3
esp_lcd_dpi_panel_config_t dpi_config = {
.dpi_clk_src = MIPI_DSI_DPI_CLK_SRC_DEFAULT,
Expand Down Expand Up @@ -183,7 +178,6 @@ class WaveshareEsp32p4 : public WifiBoard {
.vendor_config = &vendor_config,
};
esp_lcd_new_panel_st7701(io, &lcd_dev_config, &disp_panel);
>>>>>>> upstream/main
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B
esp_lcd_dpi_panel_config_t dpi_config = {
.dpi_clk_src = MIPI_DSI_DPI_CLK_SRC_DEFAULT,
Expand Down
Loading