Yo' Posté(e) Décembre 2, 2019 Posté(e) Décembre 2, 2019 Hello, Je suis en train de modifier un bout de code dans Marlin et je bute sur une ligne de commande. enqueue_and_echo_commands_P(PSTR("M851 Z-" + level_z_height)); level_z_height est un float. Comment faire pour que ça fonctionne ?
Tircown Posté(e) Décembre 2, 2019 Posté(e) Décembre 2, 2019 (modifié) Hello, char cmd[20]; sprintf_P(cmd, PSTR("M851 Z-%f"), level_z_height); enqueue_and_echo_commands_P(cmd); cmd[20] est à adapter selon ton besoin. Modifié (le) Décembre 2, 2019 par Tircown 1
Yo' Posté(e) Décembre 2, 2019 Auteur Posté(e) Décembre 2, 2019 Je suppose que [20] est le nombre de caractères ? Si j'en mets un ou deux de trop, c'est grave ?
Tircown Posté(e) Décembre 2, 2019 Posté(e) Décembre 2, 2019 Oui c'est ça. Non ce n'est pas grave. D'ailleurs si tu connais la précision de ta mesure tu peux contraindre et ça sera plus propre. ex: %05.2f au lieu de %f fera 5 caractères dont le . et avec 2 décimales, c-à-d par exemple 02.53 et du coup mettre char[12].
Yo' Posté(e) Décembre 3, 2019 Auteur Posté(e) Décembre 3, 2019 Il y a 9 heures, Tircown a dit : D'ailleurs si tu connais la précision de ta mesure tu peux contraindre et ça sera plus propre Ok, Je vais faire ça. J'ai tenté le code que tu m'as donné hier soir, et ça fonctionne.
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant