initial commit

This commit is contained in:
feeling001@gmail.com
2026-06-08 14:33:53 +02:00
commit a7eb474a97
8 changed files with 686 additions and 0 deletions
+132
View File
@@ -0,0 +1,132 @@
# ============================================================
# Makefile LittleFS test ESP32-S3
# Usage :
# make BOARD=esp32s3_zero # build
# make flash BOARD=esp32s3_zero # build + flash firmware
# make flashfs BOARD=esp32s3_zero # upload la partition LittleFS
# make monitor BOARD=esp32s3_zero # ouvre le moniteur série
# make all BOARD=esp32s3_n16r8v # build + flash firmware + flashfs
# make clean # nettoyage
#
# Boards disponibles :
# esp32s3_zero Waveshare ESP32-S3-Zero (4 MB flash)
# esp32s3_n16r8v Generic ESP32-S3 N16R8V (16 MB flash / 8 MB PSRAM OPI)
# ============================================================
# ── Valeur par défaut de la carte ──────────────────────────────
BOARD ?= esp32s3_zero
# ── Outil PlatformIO ───────────────────────────────────────────
PIO := pio
# ── Port série (optionnel, PIO le détecte automatiquement) ─────
# PORT ?= /dev/ttyUSB0
# ── Cibles valides ─────────────────────────────────────────────
VALID_BOARDS := esp32s3_zero esp32s3_n16r8v
.PHONY: all build flash flashfs monitor clean check-board help
# ─────────────────────────────────────────────────────────────
# help (cible par défaut si aucun argument)
# ─────────────────────────────────────────────────────────────
help:
@echo ""
@echo " ┌─────────────────────────────────────────────────────────┐"
@echo " │ Makefile LittleFS test ESP32-S3 │"
@echo " └─────────────────────────────────────────────────────────┘"
@echo ""
@echo " Utilisation : make <cible> BOARD=<carte>"
@echo ""
@echo " Cartes disponibles :"
@echo " esp32s3_zero Waveshare ESP32-S3-Zero (4 MB flash)"
@echo " esp32s3_n16r8v ESP32-S3 N16R8V (16 MB flash / 8 MB PSRAM OPI)"
@echo ""
@echo " Cibles :"
@echo " build Compile le firmware (défaut)"
@echo " flash Compile et flashe le firmware"
@echo " flashfs Upload la partition LittleFS (répertoire data/)"
@echo " monitor Ouvre le moniteur série (Ctrl+C pour quitter)"
@echo " all build + flash + flashfs"
@echo " clean Supprime les artefacts de build"
@echo " help Affiche ce message"
@echo ""
@echo " Exemples :"
@echo " make BOARD=esp32s3_zero"
@echo " make flash BOARD=esp32s3_n16r8v"
@echo " make all BOARD=esp32s3_zero"
@echo ""
# ─────────────────────────────────────────────────────────────
# Vérification de la valeur de BOARD
# ─────────────────────────────────────────────────────────────
check-board:
@if ! echo "$(VALID_BOARDS)" | grep -qw "$(BOARD)"; then \
echo ""; \
echo " ERREUR : carte inconnue '$(BOARD)'"; \
echo " Cartes valides : $(VALID_BOARDS)"; \
echo ""; \
exit 1; \
fi
@echo " → Carte sélectionnée : $(BOARD)"
# ─────────────────────────────────────────────────────────────
# build compilation uniquement
# ─────────────────────────────────────────────────────────────
build: check-board
@echo ""
@echo " ── Compilation pour $(BOARD) ──────────────────────────────"
$(PIO) run -e $(BOARD)
# ─────────────────────────────────────────────────────────────
# flash compilation + upload du firmware
# ─────────────────────────────────────────────────────────────
flash: check-board
@echo ""
@echo " ── Flash firmware → $(BOARD) ──────────────────────────────"
ifdef PORT
$(PIO) run -e $(BOARD) -t upload --upload-port $(PORT)
else
$(PIO) run -e $(BOARD) -t upload
endif
# ─────────────────────────────────────────────────────────────
# flashfs upload la partition LittleFS (contenu de data/)
# ─────────────────────────────────────────────────────────────
flashfs: check-board
@echo ""
@echo " ── Upload LittleFS partition → $(BOARD) ───────────────────"
ifdef PORT
$(PIO) run -e $(BOARD) -t uploadfs --upload-port $(PORT)
else
$(PIO) run -e $(BOARD) -t uploadfs
endif
# ─────────────────────────────────────────────────────────────
# monitor moniteur série
# ─────────────────────────────────────────────────────────────
monitor: check-board
@echo ""
@echo " ── Moniteur série ($(BOARD)) Ctrl+C pour quitter ────────"
ifdef PORT
$(PIO) device monitor -e $(BOARD) --port $(PORT)
else
$(PIO) device monitor -e $(BOARD)
endif
# ─────────────────────────────────────────────────────────────
# all build + flash + flashfs
# ─────────────────────────────────────────────────────────────
all: build flash flashfs
@echo ""
@echo " ✔ all : build + flash + flashfs terminé pour $(BOARD)"
# ─────────────────────────────────────────────────────────────
# clean suppression des artefacts
# ─────────────────────────────────────────────────────────────
clean:
@echo ""
@echo " ── Nettoyage ───────────────────────────────────────────────"
$(PIO) run -t clean || true
rm -rf .pio
@echo " ✔ Nettoyage terminé"