1
0
Fork 0
Projet_Barbapapa_Firmware/Utils
Teo-CD 8935a6ee6d Utils: Update conversion command
For some gifs, my original convert command mangled the deltas and produced
completly wrong frames.
This is due to a couple of mistakes in the order of operations
1. The -coalesce option to flatten all layers up to the current frame
   needs to be before the output, not the input
2. Resizing was done *before* the coalesce option, leading to invalid
   delta frames and image corruption
3. This was emphasized by the thresholding, making it look mangled.

Update the command in the script and the example in the README.
2024-03-18 13:15:41 +00:00
..
bitmap_helper Utils: Introduce utils and animation helpers 2023-10-21 21:59:54 +01:00
.gitignore Utils: Introduce utils and animation helpers 2023-10-21 21:59:54 +01:00
convertAnimGif.sh Utils: Update conversion command 2024-03-18 13:15:41 +00:00
README.md Utils: Introduce utils and animation helpers 2023-10-21 21:59:54 +01:00

Utilitaires

Ce sous-dossier rassemble divers utilitaires liés au projet.

Conversion des animations

Deux outils sont disponnibles pour aider à la conversion : un pour faire l'inversion de bit nécessaire, et un script pour automatiser tout le protocole.

Pour des détails sur le format de sortie, référez-vous au README principal.

bitmap_helper

Un projet Rust a été créé pour permettre la conversion d'une bitmap MONO gérée par ImageMagick en une bitmap correcte pour le LCD, en inversant les bits de chaque octet.

Il est possible qu'une version compilée soit disponible dans les versions sur Github.

Compilation

Pour le compiler, il suffit d'utiliser Cargo, qui peut être installé via rustup par exemple.
Une fois Rust et Cargo disponibles, la compilation peut être faite depuis le dossier bitmap_helper avec la commande suivante :

cargo build

L'exécutable produit est alors bitmap_helper/target/debug/bitmap_helper.

Utilisation

L'utilitaire peut convertir plusieurs fichiers .mono à la fois, passés directement sur la ligne de commande.

bitmap_helper/target/debug/bitmap_helper <frame00>.mono <frame01>.mono ...

Tout autre format de fichier ne sera pas traité.
⚠️ La détection du format n'est basée que sur les extensions !

convertAnimGif.sh

Ce script permet d'automatiser tout le protocole de conversion d'un ou plusieurs gifs en suites de bitmaps utilisables par le projet.

Il prend en argument un ou plusieurs fichier(s) .gif et produit les bitmap individuelles correctement numérotées dans un dossier portant le nom du fichier original.

./convertAnimGif.sh <animation1>.gif <animation2>.gif ...

Il suffit ensuite de déposer les dossiers sur la carte SD, sous les dossiers correspondants (voir noms dans src/IDs.cpp) et les renommer pour ne laisser que ANIM.