« SmoothieWare fins de course » : différence entre les versions

De fablabo
Aller à :navigation, rechercher
Cedric (discussion | contributions)
Aucun résumé des modifications
Aucun résumé des modifications
 
(10 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==


Le code source est partagé sur github : https://github.com/Smoothieware/Smoothieware
===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")
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 :
<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

:Fichier:JoliAfficheur.jpg

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 ».

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 );