Aligner le firmware sur le SDK Hermes Gadget : contrat device, OTA durci, rendu par régions #5
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/alignement-sdk-gadget"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Reprend du SDK Hermes Gadget (MIT) ce qui est transposable ici : un contrat
d'API explicite, un OTA plus sûr, et les deux mécanismes de rendu qui font
tomber le trafic au panneau. Le reste du SDK est cadré comme feuille de route
dans
docs/alignement-hermes-gadget-sdk.md.Contrat et OTA
docs/device-api.mdfige/api/deviceet le manifeste OTA ; le payloadannonce
proto(le firmware peut refuser une version qu'il ne parle pas).board, et le firmware refuse une image dont le champest absent ou ne correspond pas à sa carte.
OTA_DISABLE_SHA_CHECKvalait 1 dans la configuration d'exemple : toute copiede l'exemple installait un firmware sans vérifier son SHA-256. Remis à 0.
Rendu
de
millis(),sinf()nicosf()dans un chemin de rendu.chacun une clé de hachage de leurs entrées, et ne sont composés et envoyés que
quand elle change. Un écran immobile n'envoie rien.
instantané, la boucle le recopie, puis le SPI est poussé hors verrou.
src/render_stats.himprime une ligne[perf](ticks sans envoi, moyennes etp95 de composition et de
pushSprite, débit).Vérifications
pio run(cibleESP-LCD)cargo fmt --check,clippy --locked --all-targets -- -D warnings,cargo test --lockedhttps://hermes.thidev.fr,GET /api/device"proto": 1build.yml: YAML + rendu du heredocboard[perf]est l'outilÀ trancher
l'écran entier et aucune région ne l'approche. Le supprimer implique un
changement visible (localiser l'animation d'état dans un petit indicateur, ou
anneau statique par état). Documenté avec les débits avant/après.
tests/ui_simcompile l'ancienne UI LVGL : désaccordé depuis la migrationLovyanGFX, à remettre à niveau ou à retirer.
.forgejo/workflows/validate_workflow.pyéchoue aussi surmain: ilattend
on.push.branches == ['main']alors quebuild.ymlne se déclenche quesur les tags. Hors périmètre, non touché.
Aligner le firmware sur le SDK Hermes Gadget : contrat device, OTA durci, rendu par regionsto Aligner le firmware sur le SDK Hermes Gadget : contrat device, OTA durci, rendu par régions