16. [Optionnel] Francisation des macros d'action dans Mainsail

Module Optionnel (Mainsail) : Si Fluidd permet nativement de renommer les raccourcis de macros au sein de ses groupes avancés, Mainsail affiche directement le nom brut des commandes G-code. Pour obtenir une interface 100 % francisée et intuitive, nous créons le fichier ZEW-Interface_FR.cfg dans le dossier Languages/. Ce fichier agit comme une couche d'enveloppe (« Wrappers ») pour traduire vos commandes en français dans Mainsail.

1. Emplacement et code du composant ZEW-Interface_FR.cfg

Créez le fichier à l'emplacement exact suivant : ~/printer_data/config/Languages/ZEW-Interface_FR.cfg.

Voici le script complet contenant les redirections de commandes vers les macros réelles de votre machine :

#############################################################################
#############################################################################
#  ZEW-Neptune4Max V1.0 | COMPOSANT D'INTERFACE PERSONNALISÉ
#  -------------------------------------------------------------------------
#  MODULE     : LOGIQUE D'INTERFACE FRANÇAISE (ZEW-Interface_FR.cfg)
#  FONCTION   : Exécution des commandes et gestion des Wrappers
#  CONÇU PAR  : Frédéric IMBERT
#  VERSION    : 1.0.0 (2026-05-05)
#  STATUT     : PRODUCTION / STABLE
#############################################################################

#############################################################################
#  ZEW-Neptune4Max V1.0 - CONTRÔLE D'IMPRESSION
#############################################################################

[gcode_macro METTRE_EN_PAUSE]
description: ⏸️ Interrompre l'impression en cours
gcode:
    PAUSE

[gcode_macro REPRENDRE_IMPRESSION]
description: ▶️ Reprendre l'impression après une pause
gcode:
    RESUME

[gcode_macro ANNULER_IMPRESSION]
description: 🛑 Arrêter définitivement l'impression
gcode:
    CANCEL_PRINT
    
#############################################################################
#  ZEW-Neptune4Max V1.0 - GESTION LED
#############################################################################

[gcode_macro ECLAIRAGE_CADRE_ON]
description: 💡 Allumer la lumière du portique
gcode:
    Frame_Light_ON

[gcode_macro CADRE_OFF]
description: 🌑 Éteindre la lumière du portique
gcode:
    Frame_Light_OFF

[gcode_macro ECLAIRAGE_TETE_ON]
description: 🔦 Allumer la lumière de la tête d'impression
gcode:
    Part_Light_ON

[gcode_macro TETE_OFF]
description: 🌑 Éteindre la lumière de la tête d'impression
gcode:
    Part_Light_OFF

#############################################################################
#  ZEW-Neptune4Max V1.0 - CALIBRATIONS
#############################################################################

[gcode_macro CALIBRER_PLATEAU_PID]
description: 🌡️ Lance le PID Tune du plateau à 60°C
gcode:
    PID_Tune_BED TEMPERATURE=60

[gcode_macro CALIBRER_BUSE_PID]
description: 🌡️ Lance le PID Tune de la buse à 210°C
gcode:
    PID_Tune_EXTRUDER TEMPERATURE=210

[gcode_macro AUTO_NIVELLEMENT]
description: 📐 Lance le maillage adaptatif du plateau (Bed Mesh)
gcode:
    BED_MESH_CALIBRATE

[gcode_macro REGLER_VIS_PLATEAU]
description: 🔩 Aide au réglage manuel des vis (Screws Tilt Adjust)
gcode:
    {% set txt = printer["gcode_macro _ZEW_DICT_FR"] %}
    
    RESPOND MSG="{txt.zew_prefix} {txt.zew_screws_start}"
    BED_MESH_CLEAR
    
    RESPOND MSG="{txt.zew_prefix} {txt.zew_screws_heat}"
    SET_BED_TEMPERATURE TARGET=60
    BED_TEMPERATURE_WAIT MINIMUM=58
    
    RESPOND MSG="{txt.zew_prefix} {txt.zew_screws_home}"
    CG28
    
    RESPOND MSG="{txt.zew_prefix} {txt.zew_screws_calc}"
    SCREWS_TILT_CALCULATE

# --- Configuration des vis associée (Interface FR - 7 Points Neptune 4 Max) ---
[screws_tilt_adjust]
screw1_name: Pivot Central (Ref)
screw2_name: Arriere Gauche
screw3_name: Milieu Gauche
screw4_name: Avant Gauche
screw5_name: Avant Droite
screw6_name: Milieu Droite
screw7_name: Arriere Droite

[gcode_macro CALIBRER_Z_OFFSET]
description: 📏 Lance la procédure de réglage de la hauteur de buse
gcode:
    PROBE_CALIBRATE

[gcode_macro SAUVEGARDER_CONFIG]
description: 💾 Enregistre les modifications et redémarre Klipper
gcode:
    SAVE_CONFIG

#############################################################################
#  ZEW-Neptune4Max V1.0 - FILAMENT
#############################################################################

[gcode_macro CHARGER_FILAMENT]
description: 📥 Chauffe et charge le filament
gcode:
    LOAD_FILAMENT

[gcode_macro RETIRER_FILAMENT]
description: 📤 Chauffe et retire le filament
gcode:
    UNLOAD_FILAMENT

[gcode_macro CHANGEMENT_COULEUR]
description: 🌈 Procédure M600 de changement de couleur
gcode:
    M600

#############################################################################
#  ZEW-Neptune4Max V1.0 - CALIBRATIONS AVANCÉES
#############################################################################

[gcode_macro CALIBRER_TORSION_AXE]
description: 🥨 Calibrer la compensation de torsion (Axis Twist)
gcode:
    Axis_Twist_Comp_Tune

[gcode_macro MAILLAGE_PLATEAU_COMPLET]
description: 🗺️ Créer un Bed Mesh sur toute la surface (121 points)
gcode:
    Auto_Full_Bed_Level

#############################################################################
#  ZEW-Neptune4Max V1.0 - SYSTÈME
#############################################################################

[gcode_macro TEST_BEEPER]
description: 🎵 Jouer une petite mélodie de test
gcode:
    END_TUNE

[gcode_macro ACTIVER_CAPTEUR_FILAMENT]
description: 🛡️ Active le capteur de fin de filament
gcode:
    SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=1

[gcode_macro DESACTIVER_CAPTEUR_FILAMENT]
description: ⚠️ Désactive le capteur (utile pour les filaments souples TPU)
gcode:
    SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=0

[gcode_macro TEST_SON_ALERTE]
description: 🔔 Jouer un bip de test
gcode:
    BIP_ALERTE

#############################################################################
#  ZEW-Neptune4Max V1.0 - CALIBRATION INPUT SHAPER
#############################################################################

[gcode_macro TEST_RESONANCE_X]
description: 〰️ Mesure les vibrations de la tête (Axe X)
gcode:
    ANALYSE_VIBRATIONS_X

[gcode_macro TEST_RESONANCE_Y]
description: 〰️ Mesure les vibrations du plateau (Axe Y)
gcode:
    ANALYSE_VIBRATIONS_Y

2. Déclaration dans l'architecture printer.cfg

Afin d'intégrer cette couche linguistique, ouvrez votre fichier printer.cfg et insérez la déclaration du composant d'interface dans le bloc dédié à la localisation :

# --- INTELLIGENCE (Macros) ---
[include Macros/Macros.cfg] # Core system macros
[include Macros/Helpers.cfg] # General utility functions
[include Macros/Filament.cfg] # Load, unload and M600 logic
[include Macros/KAMP_Settings.cfg] # Adaptive mesh & purge settings

# --- LOCALIZATION & UI (ZEW-Neptune4Max V1.0) ---
[include Languages/ZEW-Interface_FR.cfg] # French UI layer (Logic & Wrappers)

# --- DEV & DEBUG (Personal use only) ---
[include Macros/Klipper_debug.cfg] # Advanced system debugging tools

3. Gestion des doublons et organisation des groupes dans Mainsail

Une fois le fichier inclus et votre firmware redémarré, vous remarquerez que les macros apparaissent désormais en « doublon » dans la liste globale de Mainsail :

  • Les macros techniques d'origine avec leurs noms en anglais (ex: LOAD_FILAMENT, Frame_Light_ON).
  • Les nouvelles macros d'emballage avec leurs titres en français (ex: CHARGER_FILAMENT, ECLAIRAGE_CADRE_ON).

Astuce d'agencement dans Mainsail

Pour nettoyer votre interface, rendez-vous dans les paramètres de l'interface Mainsail (icône engrenage > Interface > Macros). Lors de la création de vos cartes/groupes personnalisés sur le tableau de bord, sélectionnez uniquement les macros avec leurs identifiants en français (ex: CHARGER_FILAMENT). Vous pouvez ensuite simplement masquer le groupe par défaut contenant les macros anglaises brutes.

Gestion avancée des groupes de macros dans Mainsail

Configuration des groupes de macros dans Mainsail

Rendu de l'interface francisée dans Mainsail

Rendu final de l'interface francisée sur le tableau de bord

4. Une architecture pensée pour le multilinguisme

L'avantage majeur de cette structure modulaire réside dans sa flexibilité d'adaptation internationale. Le code système et la logique métier de votre imprimante restent isolés dans le dossier Macros/, tandis que la couche d'interface réside séparément dans Languages/.

Si vous souhaitez adapter votre interface pour une autre langue (anglais, espagnol, allemand...) :

  1. Dupliquez le fichier d'interface en adaptant le suffixe du code ISO de la langue (ex: ZEW-Interface_EN.cfg ou ZEW-Interface_ES.cfg).
  2. Traduisez les noms des macros [gcode_macro ...] et leurs descriptions.
  3. Mettez à jour le nom exact du fichier appelé dans la section # --- LOCALIZATION & UI --- de votre printer.cfg.

Attention à l'orthographe : Assurez-vous toujours que le nom du fichier physique présent dans le dossier Languages/ corresponde scrupuleusement, majuscules et extension comprises, à la ligne de déclaration présente dans votre printer.cfg sous peine de bloquer le démarrage de Klipper.

Choix utilisateur pour les Cookies
Nous utilisons des cookies afin de vous proposer les meilleurs services possibles. Si vous déclinez l'utilisation de ces cookies, le site web pourrait ne pas fonctionner correctement.
Tout accepter
Tout décliner
Analytique
Outils utilisés pour analyser les données de navigation et mesurer l'efficacité du site internet afin de comprendre son fonctionnement.
Google Analytics
Accepter
Décliner
Publicité
Si vous acceptez, les annonces présentes sur la page seront adaptées à vos préférences.
Publicité Google
Accepter
Décliner
Sauvegarder