Add the Elecrow CrowPanel 7.0" as a third board, and take the packages and the add-on from Gitea (0.2.93)
CI / checks (push) Successful in 12m50s
CI / firmware (add-on) (push) Successful in 18m19s
CI / firmware (min_version) (push) Successful in 17m55s

A board file for the Elecrow CrowPanel 7.0" (DIS08070H, ESP32-S3-WROOM-1-N4R8): 800x480 through mipi_rgb, GT911 on the
ESP32-S3's USB pins (elecrow_usb_phy.h frees them, behind a flag only this board sets), the Guition's vertical sizes
across a wider page, no rotation. Its 4 MB of flash take the CYD's budget: a partition table of the component's
(smart_display: partitions: 4mb_wide_slots, 1,984 KB slots), the icon fonts at 2 bits a pixel and the TLS client only
bring the firmware to 1,865,440 bytes, 91.8 % of a slot, with camera images kept. docs/ELECROW.md has the numbers and
the trade.

The add-on reads a large board's name from the type sensor's value, the editor offers the board under New screen and
draws the wide preview, tools/check.sh builds it with the budget, render_topbar and capture_ui take the panel's size.
Firmware 0.2.79; the CYD image is unchanged (1,633,760 bytes).

This fork builds from gittea.trippedonmy.name/Xandrossian/homeassistant_espscreen: the packages, the fonts, the
component and the add-on repository point there instead of GitHub.
This commit is contained in:
Xandrossian
2026-09-20 23:18:01 -07:00
parent efbab04b39
commit 9857cc3bda
64 changed files with 1664 additions and 145 deletions
+10 -7
View File
@@ -4,7 +4,7 @@
#
# tools/check.sh the Python tests, every tests/*.cpp, the package check, the icon generator's --check, the editor's
# tests, types and build, and whether the editor bundle in Git equals that build
# tools/check.sh --firmware compiles both board profiles and applies the CYD's flash budget
# tools/check.sh --firmware compiles every board profile and applies the flash budget to the 4 MB boards (CYD, Elecrow)
# tools/check.sh --all both
# --baseline BYTES with --firmware: the CYD image of the last release, to print the growth
#
@@ -175,8 +175,8 @@ api_encryption_key: "Y2hlY2stYnVpbGQtcGxhY2Vob2xkZXIta2V5LTMyYnk="
ota_password: "check-build-ota-password-0000000"
ap_password: "check-ap-passwd0"
EOF
for board in cyd guition; do
file=$([[ $board == cyd ]] && echo home-like-2432s028.yaml || echo guition-4848s040.yaml)
for board in cyd guition elecrow; do
case $board in cyd) file=home-like-2432s028.yaml ;; guition) file=guition-4848s040.yaml ;; elecrow) file=elecrow-crowpanel7.yaml ;; esac
cp "$ROOT/$file" "$config/check-$board.yaml" || return 1
if ! grep -q '^captive_portal:' "$config/check-$board.yaml" || ! grep -q '^ ap:' "$config/check-$board.yaml"; then
echo "$file has no captive_portal: or wifi ap: any more, unlike the YAML users get; the flash figures would read low."
@@ -186,16 +186,16 @@ EOF
echo "Check profiles in $config"
}
compile_board() { # compile_board cyd|guition
compile_board() { # compile_board cyd|guition|elecrow
local board=$1
cd "$WORK/config" || return 1
"${ESPHOME_CMD[@]}" -s DEVICE_NAME "check-$board" -s DEVICE_FRIENDLY_NAME "Check $board" compile "check-$board.yaml" || return 1
flash_report "$board"
}
# flash_report BOARD [budget]: the image against its update slot, both read from the build, and on the CYD the growth
# against --baseline and the budget of docs/RELEASING.md step 2. Exit 3 means over 90 %: it passes, but the release has
# to say why.
# flash_report BOARD [budget]: the image against its update slot, both read from the build, and on the 4 MB boards (the
# CYD, the Elecrow) the growth against --baseline (the CYD only) and the budget of docs/RELEASING.md step 2. Exit 3 means
# over 90 %: it passes, but the release has to say why.
flash_report() {
local board=$1 mode=${2:-} status=0 out="$WORK/flash-$1.txt" against=""
[[ $board == cyd ]] && against=$baseline
@@ -251,6 +251,7 @@ EOF
}
cyd_budget() { flash_report cyd budget; }
elecrow_budget() { flash_report elecrow budget; }
# ---- Run ----
@@ -282,6 +283,8 @@ if ((want_firmware)); then
run "Firmware: CYD" compile_board cyd
if ((last_ok)); then run "CYD flash budget" cyd_budget; else skip "CYD flash budget" "no CYD build"; fi
run "Firmware: Guition" compile_board guition
run "Firmware: Elecrow" compile_board elecrow
if ((last_ok)); then run "Elecrow flash budget" elecrow_budget; else skip "Elecrow flash budget" "no Elecrow build"; fi
else
skip "Firmware builds" "ESPHome or the check profiles are missing"
fi