Skip to content

Commit 280c944

Browse files
committed
DEH-P650 V1.0.8.5 DIAG XM1-XM2 cloud build
0 parents  commit 280c944

20 files changed

Lines changed: 10701 additions & 0 deletions

.github/workflows/build.yml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: Build DEH-P650 V1.0.8.5 DIAG
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
paths:
7+
- ".github/workflows/build.yml"
8+
- "overlay/**"
9+
- "tools/**"
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
build:
16+
name: ESP32 LDAC + XM cloud build
17+
runs-on: ubuntu-22.04
18+
timeout-minutes: 60
19+
20+
steps:
21+
- name: Checkout deste pacote
22+
uses: actions/checkout@v4
23+
24+
- name: Validar pacote DEH-P650
25+
run: python3 tools/validate_cloud_package.py
26+
27+
- name: Baixar base LDAC / ESP-IDF 5.5.2 modificada
28+
run: |
29+
git clone --depth 1 \
30+
https://github.com/WillyBilly06/ESP32-A2DP-SINK-WITH-CODECS-UPDATED.git \
31+
upstream
32+
echo "UPSTREAM_COMMIT=$(git -C upstream rev-parse HEAD)" >> "$GITHUB_ENV"
33+
34+
- name: Aplicar V1.0.8.5 DIAG XM1-XM2
35+
run: |
36+
test -f upstream/bt_audio_sink/main/bt/a2dp_sink_native.h
37+
cp overlay/main/main.cpp upstream/bt_audio_sink/main/main.cpp
38+
cp overlay/main/CMakeLists.txt upstream/bt_audio_sink/main/CMakeLists.txt
39+
40+
mkdir -p upstream/bt_audio_sink/main/bt
41+
mkdir -p upstream/bt_audio_sink/main/dsp
42+
mkdir -p upstream/bt_audio_sink/main/ipbus
43+
mkdir -p upstream/bt_audio_sink/main/ota
44+
45+
cp overlay/main/bt/a2dp_sink_native.cpp upstream/bt_audio_sink/main/bt/a2dp_sink_native.cpp
46+
cp overlay/main/dsp/bdk_bass_dsp.h upstream/bt_audio_sink/main/dsp/bdk_bass_dsp.h
47+
cp overlay/main/dsp/bdk_bass_dsp.cpp upstream/bt_audio_sink/main/dsp/bdk_bass_dsp.cpp
48+
cp overlay/main/ipbus/bdk_arduino_compat.h upstream/bt_audio_sink/main/ipbus/bdk_arduino_compat.h
49+
cp overlay/main/ipbus/bdk_arduino_compat.cpp upstream/bt_audio_sink/main/ipbus/bdk_arduino_compat.cpp
50+
cp overlay/main/ipbus/ipbus_xm_v326.h upstream/bt_audio_sink/main/ipbus/ipbus_xm_v326.h
51+
cp overlay/main/ipbus/ipbus_xm_v326.cpp upstream/bt_audio_sink/main/ipbus/ipbus_xm_v326.cpp
52+
cp overlay/main/ota/bt_ota.h upstream/bt_audio_sink/main/ota/bt_ota.h
53+
cp overlay/main/ota/bt_ota.cpp upstream/bt_audio_sink/main/ota/bt_ota.cpp
54+
cp overlay/partitions.csv upstream/bt_audio_sink/partitions.csv
55+
56+
python3 tools/PATCH_IDF_V108.py upstream/esp-idf
57+
python3 tools/configure_sdkconfig.py upstream/bt_audio_sink/sdkconfig
58+
59+
- name: Instalar toolchain ESP-IDF
60+
shell: bash
61+
run: |
62+
cd upstream/esp-idf
63+
./install.sh esp32
64+
65+
- name: Compilar firmware
66+
shell: bash
67+
run: |
68+
set -e
69+
source upstream/esp-idf/export.sh
70+
cd upstream/bt_audio_sink
71+
idf.py reconfigure
72+
idf.py build
73+
74+
- name: Gerar BIN e DEHOTA
75+
shell: bash
76+
run: |
77+
set -e
78+
mkdir -p output
79+
cp upstream/bt_audio_sink/build/bt_audio_sink.bin \
80+
output/BDK_XM_V1_0_8_5_DIAG_SWAP_XM1_XM2.bin
81+
82+
python3 tools/GERAR_DEHOTA.py \
83+
upstream/bt_audio_sink/build/bt_audio_sink.bin \
84+
output/BDK_XM_V1_0_8_5_DIAG_SWAP_XM1_XM2.dehota
85+
86+
cp upstream/bt_audio_sink/build/bootloader/bootloader.bin output/bootloader_reference.bin
87+
cp upstream/bt_audio_sink/build/partition_table/partition-table.bin output/partition-table_reference.bin
88+
89+
{
90+
echo "Upstream commit: ${UPSTREAM_COMMIT}"
91+
echo
92+
sha256sum output/*
93+
} > output/SHA256.txt
94+
95+
ls -lh output
96+
cat output/SHA256.txt
97+
98+
- name: Publicar arquivos compilados
99+
uses: actions/upload-artifact@v4
100+
with:
101+
name: DEH-P650-V1.0.8.5-DIAG-XM1-XM2
102+
path: output/
103+
retention-days: 30
104+
if-no-files-found: error

README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# DEH-P650 — Cloud Build V1.0.8.5 DIAG XM1↔XM2
2+
3+
Este repositório compila na nuvem o firmware de diagnóstico do Pioneer DEH-P650.
4+
5+
## Resultado do teste
6+
- XM1 do rádio usa temporariamente o perfil de áudio originalmente usado pelo XM2.
7+
- XM2 do rádio usa temporariamente o BBR6 originalmente usado pelo XM1.
8+
- XM3 permanece HIFI PURE / bypass.
9+
10+
O objetivo é descobrir se o chiado acompanha o BBR6/DSP.
11+
12+
## Como usar
13+
1. Crie um repositório novo no GitHub.
14+
2. Envie TODO o conteúdo desta pasta, inclusive `.github`.
15+
3. Faça o commit.
16+
4. A compilação inicia automaticamente.
17+
5. Abra a aba Actions.
18+
6. Abra `Build DEH-P650 V1.0.8.5 DIAG`.
19+
7. Quando ficar verde, abra a execução.
20+
8. Na área Artifacts, baixe `DEH-P650-V1.0.8.5-DIAG-XM1-XM2`.
21+
9. Extraia o ZIP do artefato.
22+
10. Use `BDK_XM_V1_0_8_5_DIAG_SWAP_XM1_XM2.dehota` pelo OTA normal.
23+
24+
## O que o cloud build usa
25+
O workflow baixa:
26+
https://github.com/WillyBilly06/ESP32-A2DP-SINK-WITH-CODECS-UPDATED
27+
28+
Essa base contém a árvore ESP-IDF 5.5.2 modificada com suporte LDAC.
29+
Depois o workflow aplica o overlay DEH-P650 e compila.
30+
31+
## Importante
32+
Para este diagnóstico use SOMENTE o arquivo `.dehota`.
33+
Os arquivos `bootloader_reference.bin` e `partition-table_reference.bin` são guardados
34+
apenas como referência de build. Não precisam ser gravados.
35+
36+
Se a Action ficar vermelha, abra a etapa que falhou, copie o erro e envie ao ChatGPT.

VERIFICAR_ANTES_DE_ENVIAR.bat

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
@echo off
2+
setlocal
3+
cd /d "%~dp0"
4+
echo ================================================
5+
echo DEH-P650 GITHUB CLOUD BUILD - CHECAGEM
6+
echo ================================================
7+
if not exist ".github\workflows\build.yml" (
8+
echo [ERRO] .github\workflows\build.yml nao encontrado.
9+
echo Extraia o ZIP inteiro antes de enviar ao GitHub.
10+
pause
11+
exit /b 1
12+
)
13+
if not exist "overlay\main\main.cpp" (
14+
echo [ERRO] overlay incompleto.
15+
pause
16+
exit /b 1
17+
)
18+
python tools\validate_cloud_package.py
19+
if errorlevel 1 (
20+
echo [ERRO] Validacao falhou.
21+
pause
22+
exit /b 1
23+
)
24+
echo.
25+
echo [OK] Pasta pronta para enviar ao GitHub.
26+
pause

overlay/main/CMakeLists.txt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
idf_component_register(
2+
SRCS
3+
"main.cpp"
4+
"bt/a2dp_sink_native.cpp"
5+
"dsp/bdk_bass_dsp.cpp"
6+
"ipbus/bdk_arduino_compat.cpp"
7+
"ipbus/ipbus_xm_v326.cpp"
8+
"ota/bt_ota.cpp"
9+
INCLUDE_DIRS
10+
"."
11+
"bt"
12+
"dsp"
13+
"ipbus"
14+
"ota"
15+
REQUIRES
16+
bt
17+
nvs_flash
18+
esp_timer
19+
app_update
20+
esp_partition
21+
esp_system
22+
heap
23+
driver
24+
esp_driver_gpio
25+
esp_driver_gptimer
26+
esp_driver_i2s
27+
esp_driver_rmt
28+
freertos
29+
hal
30+
esp_rom
31+
)

0 commit comments

Comments
 (0)