« SmoothieWare fins de course » : différence entre les versions
Aucun résumé des modifications |
|||
(8 versions intermédiaires par un autre utilisateur non affichées) | |||
Ligne 14 : | Ligne 14 : | ||
==résumé== | ==résumé== | ||
à l'occasion de la fabacademy, je profite du TP "input devices" et "output devices" pour tenter d'implémenter des fins de courses pour le smoothieware : le programme qui pilote les machines du fablab | <strike>à l'occasion de la fabacademy, je profite du TP "input devices" et "output devices" pour</strike> | ||
tenter d'implémenter des fins de courses pour le smoothieware : le programme qui pilote les machines du fablab | |||
je n'ai pas le droit de faire ça dans le cadre de la fabacademy : ça ne rentre pas dans les cases | |||
==découverte du code== | ==découverte du code== | ||
Ligne 31 : | Ligne 34 : | ||
<code lang=bash>git clone https://github.com/Cdriko/Smoothieware.git</code> | <code lang=bash>git clone https://github.com/Cdriko/Smoothieware.git</code> | ||
pour être tenu au courant des changements sur le dépôt d'origine : | |||
<code lang=bash> | |||
cd Smoothieware/ | |||
git remote add upstream https://github.com/Smoothieware/Smoothieware.git | |||
git fetch upstream | |||
</code> | |||
à ce stade, je peux déjà commencer à explorer le code | |||
===analyse du code=== | |||
Actuellement, le programme en C++ qui pilote cette carte est construit de façon modulaire : | |||
[[Image:Smoothie.modules.jpg]] | |||
On peut créer d'autres modules à la demande | |||
http://smoothieware.org/moduleexample | |||
un certain nombre d'evènements sont gérés par le kernel : http://smoothieware.org/listofevents | |||
====le module existant "EndStops"==== | |||
c'est naturellement dans ce module que j'ai commencé à regarder. | |||
En fait, il ne gère actuellement que le cycle de "homing" : la recherche automatique de l'origine des axes | |||
Je vais chercher à l'étendre pour réaliser une surveillance en temps réel | |||
====le module Stepper==== | |||
Celui-ci utilise les "blocks" (voir ci dessus) pour actionner les 3 moteurs | |||
Il semblerai que ce soit le bon endroit pour faire abandonner un mouvement | |||
===L'idée de fonctionnement=== | |||
le module EndStops est abonné à l'évènement "slow_ticker" | |||
<code lang=c> | |||
this->kernel->slow_ticker->attach( 100, this, &PauseButton::button_tick ); | |||
</code> | |||
[[Catégorie:FabAcademy]] | [[Catégorie:FabAcademy]] | ||
[[Catégorie:Code]] | [[Catégorie:Code]] |
Dernière version du 19 juin 2014 à 11:17
fins de course pour smoothieware
Contributeur·ice·s
Statut du projet
Concept
License
CC-by-sa-3.0« CC-by-sa-3.0 » n’est pas dans la liste (Je ne sais pas, Licence à définir par la suite, Creative commons, Creative Commons Attribution CC-by-sa-3.0 France, Creative Commons Attribution CC-by-3.0 France, Creative Commons Attribution CC-by-nd-3.0 France, Creative Commons Attribution CC-by-nc-nd-3.0 France, Creative Commons Attribution CC-by-nc-3.0 France, Creative Commons Attribution CC-by-nc-sa-3.0 France, Licences libres, ...) des valeurs autorisées pour la propriété « License ».
Inspiration
Fichiers source
Machines
Matériaux
Description du projet
fins de course pour smoothieware
résumé
à l'occasion de la fabacademy, je profite du TP "input devices" et "output devices" pour
tenter d'implémenter des fins de courses pour le smoothieware : le programme qui pilote les machines du fablab
je n'ai pas le droit de faire ça dans le cadre de la fabacademy : ça ne rentre pas dans les cases
découverte du code
GitHub
Le code source est partagé sur la plateforme de développement collaboratif github : https://github.com/Smoothieware/Smoothieware
pour pouvoir coder sans tout casser, il me fallait une copie à moi.
j'ai suivit le tutoriel https://help.github.com/articles/fork-a-repo
j'ai commencé par créer un fork sur mon propre compte github (en cliquant sur "fork")
puis j'ai récupéré un clone du code en tapant dans la terminal :
git clone https://github.com/Cdriko/Smoothieware.git
pour être tenu au courant des changements sur le dépôt d'origine :
cd Smoothieware/
git remote add upstream https://github.com/Smoothieware/Smoothieware.git
git fetch upstream
à ce stade, je peux déjà commencer à explorer le code
analyse du code
Actuellement, le programme en C++ qui pilote cette carte est construit de façon modulaire :
On peut créer d'autres modules à la demande
http://smoothieware.org/moduleexample
un certain nombre d'evènements sont gérés par le kernel : http://smoothieware.org/listofevents
le module existant "EndStops"
c'est naturellement dans ce module que j'ai commencé à regarder.
En fait, il ne gère actuellement que le cycle de "homing" : la recherche automatique de l'origine des axes
Je vais chercher à l'étendre pour réaliser une surveillance en temps réel
le module Stepper
Celui-ci utilise les "blocks" (voir ci dessus) pour actionner les 3 moteurs
Il semblerai que ce soit le bon endroit pour faire abandonner un mouvement
L'idée de fonctionnement
le module EndStops est abonné à l'évènement "slow_ticker"
this->kernel->slow_ticker->attach( 100, this, &PauseButton::button_tick );