Modifications

Aller à : navigation, rechercher

SmoothieBoard

2 166 octets ajoutés, 16 juin 2015 à 12:00
Un exemple de modification du firmware
les entrées sorties sur la carte beta :
 [[Image:Fichier:Smoothie wiring diagram.png|500px]]  ==firmware=====Compilation=======Pour obtenir les sources==== git clone git://github.com/Smoothieware/Smoothie.git  ====Pour obtenir la chaine de compilation====  Windows: win_install.cmd OS X: mac_install Linux: linux_install ensuite (pour linux)  ./BuildShell ====Pour compiler====  make clean all ===Un exemple de modification du firmware===Ajout d'un module affichant du texte Voici un module, position, qui affiche une phrase dans la console à chaque évènement enregistré. Il m’a servi à effectuer une première approche de la programmation par module de la smoothieboard. Le module se compose ainsi :* Un fichier .h header [[Fichier:Position.h]]* Un fichier .cpp pour le corps du programme [[Fichier:Position.cpp]] Le fichier header contient la déclaration de la classe de l’objet. Il ne contient qu’une partie « public » qui décrit les différentes méthodes de la classe :Le constructeurLe destructeur* « on_module_loaded » : obligatoire pour l’appel du module* « on_block_end » : est appelé en fin de bloque d’exécution des contrôleurs moteurs* « on_gcode_execute » est appelé à chaque exécution d’un Gcode La liste des événements au quels on peut souscrire se trouve à la page listofevents. Il me semble que la liste est non exhaustive : le module que j’ai pris pour exemple, le module laser, possède en plus les méthodes « on_play » et « on_pause ». Le header contient aussi l’appel de la classe kernel : « #include "libs/Module.h" » Le fichier du corps du programme contient les differents header utilisé pour la programmation (il reste à définir qui fait quoi) et les différentes méthodes crées dans le header du module. Il faut faire une déclaration dans le fichier main.cpp :Inclure le header du module crée : « #include "modules/tools/position/Position.h" »Crée un instance du module : « kernel->add_module( new Position() ); » Les différentes méthodes du module position execute le même code : afficher un texte dans la console. Le code utilisé est : « THEKERNEL->streams->printf("Texte à afficher"); ».
[[Catégorie:Hardware]]
273
modifications

Menu de navigation